PAT_乙级 1017 A除以B
2016-11-28 19:26
162 查看
1.题目描述:
本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。输入格式:
输入在1行中依次给出A和B,中间以1空格分隔。
输出格式:
在1行中依次输出Q和R,中间以1空格分隔。
输入样例:
123456789050987654321 7
输出样例:
17636684150141093474 3
2.解题思路:
把A当成字符串处理,高位除以B,余数转给下一位,根据字符串长度或者后面的字符ASCII码是不是为0来判断是否结束取出R。输出的时候判断一下第一位是不是03.代码部分:
#include<stdio.h> #include<string.h> int main() { int b,r,i=0,lenth,remain=0; char a[1000]; int q[1000]; scanf("%s %d",a,&b); lenth=strlen(a); for(i=0;i<lenth;i++) { q[i]=(remain*10+a[i]-48)/b; remain=(remain*10+a[i]-48)%b; } if(lenth==1&&a[0]-48<b) { printf("0 %d",a[0]-48); return 0; } if(a[0]-48<b) i=1; else i=0; for(;i<lenth;i++) printf("%d",q[i]); printf(" %d",remain); return 0; }
相关文章推荐
- 【PAT】(乙级)1017. A除以B (20)
- 1017. A除以B (20)-PAT乙级真题-PAT乙级真题-浙大PAT乙级真题java实现
- PAT乙级1017. A除以B (20)
- PAT乙级 1017. A除以B
- PAT 乙级 1017 A除以B (20)
- [PAT-乙级]1017.A除以B
- PAT 乙级 1017. A除以B (20)
- PAT 乙级 1017. A除以B
- PAT乙级:1017. A除以B (C)
- 1017. A除以B (20) PAT乙级
- pat乙级1017. A除以B (20)
- PAT 乙级 1017. A除以B (20) Java版
- 浙江大学PAT_乙级_1017. A除以B (20)
- PAT乙级1017. A除以B (20)
- [PAT乙级]1017. A除以B (20)
- 1017. A除以B (20)-PAT乙级真题
- PAT乙级1017. A除以B (20)
- PAT乙级1017 A除以B
- PAT-乙级-1017. A除以B (20)
- PAT乙级1017. A除以B 大数除以小数