南阳oj-----n-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<iostream>
#include<string>
#include<cstdio>
using namespace std;
void deal()
{char x;int i;string s;cin>>x>>s;for(i=0;i<s.length();i++){if(s[i]!='0')break;}string ss(s.substr(i,s.length()-i));//ss用于存储i--最后一位cout<<ss;if(i==s.length())printf("0");printf("\n");
}
思路二:
巧用数据类型
#include<iostream>
#include<cstdio>
using namespace std;
void deal()
{char x;int s;cin>>x>>s;//直接将后n-1位定义成int型数据cout<<s<<endl;
}
int main()
{int n;cin>>n;getchar();//消除第一个换行的影响while(n--)deal();
return 0;
}
思路三:
利用队列进行处理,不过此代码有缺陷(时间超限),欢迎大佬指正。
#include<iostream>
#include<queue>//定义队列容器的头文件
#include<cstdio>
using namespace std;
void deal()
{char x;int flag=0;//用于记录前导0queue<char> q;while(1){scanf("%c",&x);if(x=='\n')break;q.push(x);}//处理前的准备q.pop();//去掉第一位while(!q.empty()){if(q.front()!='0')//判断每位的数字{cout<<q.front();q.pop();flag=1;}else if(flag==0)//判断前导0的情况{q.pop();continue;}}if(flag==0)cout<<"0";cout<<endl;
}int main()
{int n;cin>>n;getchar();//消除第一个换行的影响while(n--)deal();
return 0;
}
南阳oj-----n-1位数(多解法汇总)相关推荐
- 力扣解法汇总728-自除数
目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接: 力扣 ...
- 南阳oj a+b问题
#include<iostream> using namespace std; int main () { int a,b; cin>>a>>b; cout< ...
- 力扣解法汇总954-二倍数对数组
目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描 ...
- 力扣编程题-解法汇总
一.力扣链接: 题库 - 力扣 (LeetCode) 全球极客挚爱的技术成长平台 备注:以后每个工作日从前往后刷一道题,然后再加一道每日新题.每天两道题. 二.模版: 标题: 力扣解法汇总5-正则表达 ...
- 力扣解法汇总2043-简易银行系统
目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms https://g ...
- 力扣解法汇总2315. 统计星号
目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描 ...
- 力扣解法汇总720-词典中最长的单词
目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms https://g ...
- 力扣解法汇总764. 最大加号标志
目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描 ...
- 力扣解法汇总606-根据二叉树创建字符串
目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms https://g ...
- 力扣解法汇总731-我的日程安排表 II
目录链接: 力扣编程题-解法汇总_分享+记录-CSDN博客 GitHub同步刷题项目: https://github.com/September26/java-algorithms 原题链接:力扣 描 ...
最新文章
- 八个防止浪费时间的小窍门
- exist not exist 分析
- 防止删库悲剧发生,这里有个Bash脚本测试框架,危险代码一测便知
- 设计模式之四-Factory模式
- 二分查找算法的两种实现方式:非递归实现和递归实现
- syslinux引导扇区不支持ntfs文件系统_实战 FAT12 文件系统
- 颠倒整数的C语言程序,帮忙解决c语言题目1.编写一个程序,用户输入一个小于5位的正整数,把它的各位数字前后颠倒一下,并输出颠倒后的结果。2.编...
- Lua 语言 快速入门
- Linux内核中读写文件数据的方法
- Adobe Flash Player(Flash播放器)下载地址
- java 擦出,Java擦除和转换实例分析
- Operating System-进程/线程内部通信-临界区(Critical Regions)
- layui复选框组件:如何操控隐藏域实现checked状态切换(含代码、案例、截图)
- CSS之内联、内部、外部样式
- Netware 操作系统
- JAVA程序设计题解与上机指导 第四版 第8章 Java的图形用户界面设计 8.2 创建“My JFrame”
- 桌面存放linux文件无法删除,桌面文件无法删除怎么办【图文教程】
- 迅雷高速下载免安装 Kali Linux
- ios label文字行间距_ios实践之Label 字间距、行间距、两端对齐、分行显示
- PHP(时间)计算本月本周下月下周