码迷,mamicode.com
首页 > 其他好文 > 详细

PAT1017. A除以B (20)

时间:2015-01-20 13:40:48      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:

本题要求计算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<iostream>
 2 using namespace std;
 3 #include<string.h>
 4 #include<stdio.h> 
 5 int main(int argc, char *argv[])
 6 {
 7     char Number[1010];
 8     char resul[1010]; 
 9     char Chushu;
10     cin>>Number>>Chushu;
11     bool flag=true; //第一位数 
12     int j=0;
13     int reminder=0;
14     int B=Chushu-48;
15     for(int i=0;Number[i]!=\0;i++)
16     {
17         int A=Number[i]-48;
18         A=reminder*10+A;
19         int C=A/B;
20         int D=A%B; 
21     //    cout<<C<<endl<<D<<endl;
22         if(flag)
23         {
24             flag=false;
25            if(C>0)
26               resul[j++]=C+48;
27            else if(C==0&&Number[1]==\0)
28                resul[j++]=C+48;
29             reminder=D;
30             continue; 
31         }
32         else
33         {
34             resul[j++]=C+48;
35             reminder=D;
36             
37         }       
38      } 
39     resul[j]=\0;      
40     printf("%s %d\n",resul,reminder);         
41     return 0;
42 }
View Code

 



PAT1017. A除以B (20)

标签:

原文地址:http://www.cnblogs.com/GoFly/p/4235729.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!