首页 > 代码库 > A/B Problem
A/B Problem
A/B Problem
时间限制:1000 ms | 内存限制:65535 KB
难度:3
- 描述
做了A+B Problem,A/B Problem不是什么问题了吧!
- 输入
- 每组测试样例一行,首先一个号码A,中间一个或多个空格,然后一个符号( / 或者 % ),然后又是空格,后面又是一个号码B,A可能会很长,B是一个int范围的数。
- 输出
- 输出结果。
- 样例输入
110 / 100 99 % 10 2147483647 / 2147483647 2147483646 % 2147483647
- 样例输出
1 9 1 2147483646
- 上传者
TC_杨闯亮
之前一直是wrong answer,现在才知道少考虑一点,“被除数”比“除数”小的时候,例如是12 / 13时,不会输出任何数,但是应该是输出 0 的,所以要控制一下……
#include<iostream> #include<algorithm> #include<string> #include<string.h> using namespace std; int main() { char a[1000],c; int b,lena,i,sum,t,d[1000]; while(cin>>a>>c>>b) { int yushu=0; int flag=0; int k=0; int count=0; lena=strlen(a);//110 / 100 if(c=='/') { for(i=0;i<lena;i++) { sum=(a[i]-'0')+yushu*10; // 127/3 t=sum/b; //0 yushu=sum%b;//1 if(t!=0 ||t==0 && flag==1) { cout<<t; } if(t) flag=1; if(!t) count++; if(count==lena) cout<<"0"; } cout<<endl; } else if(c=='%') { for(i=0;i<lena;i++) { sum=(a[i]-'0')+yushu*10; // 127/3 t=sum/b; //0 yushu=sum%b;//1 } cout<<yushu<<endl; } } return 0; }
A/B Problem
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。