NYOJ-96 n-1位数

本文介绍了一个关于计算给定整数后n-1位数的算法问题。通过输入一个大于10且不超过1000000的整数,程序能够输出其后n-1位数,同时考虑了特殊情况的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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
  1. #include<iostream>
  2. #include<cstring>
  3. using namespace std;
  4. int main()
  5. {
  6. int t,n;
  7. char a[100];
  8. cin>>t;
  9. while(t--)
  10. {
  11. cin>>a;
  12. int i,j,m;
  13. int sum=0;
  14. for(i=1;i<strlen(a);i++)
  15. {
  16. if(a[i]=='0')
  17. sum++;
  18. }
  19. if(sum==strlen(a)-1) cout<<'0'<<endl;
  20. else
  21. {
  22. for(i=1;i<strlen(a);i++)
  23. {
  24. if(a[i]=='0') continue;
  25. else
  26. {
  27. m=i;
  28. break;
  29. }
  30. }
  31. for(i=m;i<strlen(a);i++)
  32. cout<<a[i];
  33. cout<<endl;
  34. }
  35. }
  36. return 0;
  37. }


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值