nyoj 803 A/B Problem(大数除小数&&大数求余小数)
原创
©著作权归作者所有:来自51CTO博客作者scx_white的原创作品,请联系作者获取转载授权,否则将追究法律责任
这道题 也就是大数除或者求模小数,不过听说java处理大数很方便,可是java学的一塌糊涂。。有心人用java做吧
奉上c语言代码:
#include <stdio.h>
#include <string.h>
int main()
{
char a[1000],c[1000],ch;
int b,i,j,r;
while(scanf("%s %c %d",a,&ch,&b)!=EOF)//a是存贮大数,ch存贮运算符,b是小数
{
r=0;
int len=strlen(a);
if(ch=='%')
{
for(i=0;i<len;i++)//求模公式,字符串模拟除法过程
r=(r*10+(a[i]-'0'))%b;
printf("%d\n",r);
}
else
{
for(i=0;i<len;i++)//求模公式,字符串模拟除法过程
{
c[i]=(r*10+(a[i]-'0'))/b;
r=(r*10+(a[i]-'0'))%b;
}
for(i=0;i<len;i++)
if(c[i]!=0)
break;
for(j=i;j<len;j++)
printf("%d",c[j]);
if(i==len)//一定不要忘记判断,我就wrong了一次。。
printf("0");
printf("\n");
}
memset(a,'0',sizeof(a));
memset(c,'0',sizeof(c));
}
return 0;
}