1017. A除以B (20)

本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数。你需要输出商数Q和余数R,使得A = B * Q + R成立。

输入格式:

输入在1行中依次给出A和B,中间以1空格分隔。

输出格式:

在1行中依次输出Q和R,中间以1空格分隔。

输入样例:

123456789050987654321 7

输出样例:

17636684150141093474 3
 1 #include <stdio.h>
 2 #include <string.h>
 3 int main(){
 4     char a[1000]={};
 5     int b=7;
 6     int q[1000]={};
 7     int qn;
 8     int r;
 9     int yu=0;
10
11     scanf("%s%d",a,&b);
12     if(b<1||b>9 || a[0]==‘0‘){
13         return 0;
14     }
15     for(int i=0;i<strlen(a);i++){
16         if(i!=0 || ((a[i]-‘0‘)/b)!=0){
17             printf("%d",((a[i]-‘0‘)+yu*10)/b);
18         }
19         yu=((a[i]-‘0‘)+yu*10)%b;
20     }
21     if(strlen(a)==1 && (a[0]-‘0‘)<b)
22         printf("0");
23
24
25     printf(" %d",yu);
26     return 0;
27 }
时间: 2025-01-16 12:06:50

1017. A除以B (20)的相关文章

PAT乙级 1017. A除以B (20)

1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入格式: 输入在1行中依次给出A和B,中间以1空格分隔. 输出格式: 在1行中依次输出Q和R,中间以1空格分隔. 输入样例: 123456789050987654321 7 输出样例: 176366

PAT 乙级 1017 A除以B (20) C++版

1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入格式: 输入在1行中依次给出A和B,中间以1空格分隔. 输出格式: 在1行中依次输出Q和R,中间以1空格分隔. 输入样例: 123456789050987654321 7 输出样例: 176366

1017. A除以B (20)(此题转载)

1017. A除以B (20) 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入格式: 输入在1行中依次给出A和B,中间以1空格分隔. 输出格式: 在1行中依次输出Q和R,中间以1空格分隔. 输入样例: 123456789050987654321 7 输出样例: 17636684150141093474 3 思路:解决手工除法的步骤,对字符串进行处理 #include <iostream> #includ

Programming Ability Test学习 1017. A除以B (20)

1017. A除以B (20) 时间限制 100 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入格式: 输入在1行中依次给出A和B,中间以1空格分隔. 输出格式: 在1行中依次输出Q和R,中间以1空格分隔. 输入样例: 123456789050987654321 7 输出样例: 176366

1017. A除以B (20) (数学啊 ZJU_PAT)

题目链接:http://www.patest.cn/contests/pat-b-practise/1017 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入格式: 输入在1行中依次给出A和B,中间以1空格分隔. 输出格式: 在1行中依次输出Q和R,中间以1空格分隔. 输入样例: 123456789050987654321 7 输出样例: 17636684150141093474 3 代码如下: #incl

PAT 1017. A除以B (20)

本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入格式: 输入在1行中依次给出A和B,中间以1空格分隔. 输出格式: 在1行中依次输出Q和R,中间以1空格分隔. 输入样例: 123456789050987654321 7 输出样例: 17636684150141093474 3 这道题找了老半天的错,在本机调试多个答案都正确,但提交后却都不对,最后发现是temp没有赋初值0.以后得多加注意 1 #includ

PAT (Basic Level) Practise:1017. A除以B (20)

[题目链接] 本题要求计算A/B,其中A是不超过1000位的正整数,B是1位正整数.你需要输出商数Q和余数R,使得A = B * Q + R成立. 输入格式: 输入在1行中依次给出A和B,中间以1空格分隔. 输出格式: 在1行中依次输出Q和R,中间以1空格分隔. 输入样例: 123456789050987654321 7 输出样例: 17636684150141093474 3 提交代码: 1 #include <stdio.h> 2 #include <string.h> 3 4

PAT:1017. A除以B (20) AC

#include<stdio.h> #include<string.h> char n[1010]; //暂存输入的大整数字符串 int num[1010]; //暂存可以运算的各位数字 int cnt=0; //记录数字个数 int chu; //除数 int main() { scanf("%s %d",n,&chu); cnt=strlen(n); int yushu=0; //本位不够除的时候,后位想此位借位 for(int i=0 ; i<

B.1017 A除以B (20)

#include<stdio.h> #include<string.h> struct bign { int d[1010], len; bign() { memset(d, 0, sizeof(d)); len = 0; } }; bign change(char str[]) { bign a; a.len = strlen(str); for (int i = 0; i < a.len; i++) { a.d[i] = str[a.len - i - 1] - '0';