10494 If We Were a Child Again
2012-05-22 22:05
399 查看
这道题目的思路就是用数组将除法模拟一下,一次取出各位进行除法,商一次存储在整型数组中,将余数与下一位结合,此处的用的类型为long long int 以免在余数在与下一位结合的时候造成数据的溢出,至于为什么用long long int 可以防止溢出是因为在与下一位结合的时候其最大位数是 int 型最大位数+1,因此用long long int 可以。最后的余数是整体的余数,数组中的数合起来是商。
#include <stdio.h> #include <string.h> char s1[1000000]; long long int a[1000000]; int main() { int i,j,m; char c; long long int s,s2,n; int l; int k,flag; while(scanf("%s %c %lld",s1,&c,&n)!=EOF) { l=strlen(s1); s=0; k=1; flag=0; for(i=0;i<=l-1;i++) { s=s*10+(s1[i]-'0'); s2=s/n; if(s2!=0||(s2==0&&k==0)) { a[flag]=s2; flag+=1; k=0; } s=s%n; } if(c=='%') { printf("%lld\n",s); }else { if(flag==0) { printf("0"); }else { for(i=0;i<=flag-1;i++) { printf("%lld",a[i]); } } printf("\n"); } } return 0; }
相关文章推荐
- UVA 10494-If We Were a Child Again(大数除法及取余)
- UVA 10494 If We Were a Child Again 高精度除以低精度。。
- Uva 10494 If We Were a Child Again
- 10494 - If We Were a Child Again
- UVa:10494 - If We Were a Child Again
- 10494 - If We Were a Child Again
- UVA - 10494 If We Were a Child Again
- 高精度运算-10494 If We Were a Child Again
- UVa 10494 If We Were a Child Again (高精度)
- UVa 10494 - If We Were a Child Again
- UVA 10494 If We Were a Child Again(大数)
- △UVA10494 - If We Were a Child Again(大数和整型数的除法、取余)
- UVA 10494 - If We Were a Child Again
- UVA 10494 If We Were a Child Again 解题报告
- UVA - 10494 - If We Were a Child Again
- If We Were a Child Again - UVa 10494 高精度
- UVa 10494 - If We Were a Child Again
- Uva 10494 If We Were a Child Again(高精度相除)
- UVA 10494 - If We Were a Child Again(大数与整型相除取整和取余)
- UVA 10494 - If We Were a Child Again(大数除法和取模)