标签:
做了A+B Problem,A/B Problem不是什么问题了吧!
110 / 100 99 % 10 2147483647 / 2147483647 2147483646 % 2147483647
1 9 1 2147483646
之前一直是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;
}标签:
原文地址:http://blog.csdn.net/zuguodexiaoguoabc/article/details/43370997