这道题 也就是大数除或者求模小数,不过听说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; }
nyoj 803 A/B Problem(大数除小数&&大数求余小数)
原文地址:http://blog.csdn.net/su20145104009/article/details/45665861