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
代码如下:#include <cstdlib> #include <cstring> #include <algorithm> #include <cstdio> #include <cmath> #include <iostream> #include <vector> #include<set> #include<queue> using namespace std; typedef long long ll; int main() { int t,flag; char str[7]; cin>>t; while(t--) { cin>>str; flag=0; // 标记除去前缀0的情况 int len=strlen(str); queue<int>q; for(int i=1;i<len;i++) { q.push(str[i]); } int j=0; // 标记全为0的情况 while(!q.empty()) { if(q.front()!='0' || flag) {cout<<q.front()-'0'; flag=1; j++;} q.pop(); } if(j==0) cout<<0<<endl; else puts(""); } return 0; }