1017 A除以B
题目:
本题要求计算 A/B,其中 A 是不超过 1000 位的正整数,B 是 1 位正整数。你需要输出商数 Q 和余数 R,使得 A=B×Q+R 成立。
输入格式:
输入在一行中依次给出 A 和 B,中间以 1 空格分隔。
输出格式:
在一行中依次输出 Q 和 R,中间以 1 空格分隔。
输入样例:
123456789050987654321 7
输出样例:
17636684150141093474 3
题解:
最后输出时,注意当商为0时,是否会输出0。
代码:
#include<stdio.h> #include<iostream> #include<string.h> using namespace std; int main(){ int b,k=0,t=0,c=0; char a[1005],q[1005]; cin>>a>>b; for(int i = 0; i < strlen(a); i ++){ int x; t == 0 ? x = a[i] - '0' : x = t * 10 + (a[i] - '0'); t = x % b; q[k++] = x / b; } for(int i = 0; i < k; i ++){ if(q[i] != 0){ c++; } if(c){ printf("%d",q[i]); } } if(c == 0){ printf("0"); } printf(" %d",t); return 0; }
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号