NYOJ96 n-1位數
阿新 • • 發佈:2018-12-14
n-1位數
時間限制:3000 ms | 記憶體限制:65535 KB
難度:1
描述
已知w是一個大於10但不大於1000000的無符號整數,若w是n(n≥2)位的整數,則求出w的後n-1位的數。
輸入
第一行為M,表示測試資料組數。 接下來M行,每行包含一個測試資料。
輸出
輸出M行,每行為對應行的n-1位數(忽略字首0)。如果除了最高位外,其餘位都為0,則輸出0。
樣例輸入
4 1023 5923 923 1000
樣例輸出
23 923 23 0
解題思路:
取後n-1位數的意思是不要第一個數值,所以看到這個題果斷用了 字串,輸入之後把第一個去除,然後開始迴圈判斷,如果第一個字元為0則去除……以此類推。
程式碼如下:
#include<iostream> #include<string> #include<cstdio> using namespace std; int main() { int M; cin >> M; while(M--) { string str; cin >> str; getchar(); str.erase(str.begin()); int n=str.size(),i=0; while(i<n) { if(*str.begin()=='0') str.erase(str.begin()); else { cout << str; break; } i++; } if(str.empty()) cout << "0\n"; cout << "\n"; } return 0; }