0
点赞
收藏
分享

微信扫一扫

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


输出样例:


17636684150141093474 3


#include<stdio.h>
 #include<string.h>
 int main()
 {
//123456789050987654321 7
//17636684150141093474 3
      int c,i,j=0,sum1,m,d,e,shi,ge,yu,count=0;
char a[1000];
int b[1000];
    //  gets(a);
      scanf("%s",a);
     // m=7;
      scanf("%d",&m);
       c=strlen(a);
      if(c==1)
      {
       shi=(a[0]-48)/m;
       yu=(a[0]-48)%m;
       printf("%d",shi);
       printf(" %d",yu);
       
}else
{
 
     // c=strlen(a);
      sum1=(a[0]-48)*10+(a[1]-48);
      //通过找规律写出它的算法出来 
       /* b[0]=sum1/m;
        shi= sum1-m*b[0];
        sum1=shi*10+a[2];
  b[1]=sum1/m
        shi=sum1-m*b[1]
        sum1=shi*10+a[3];*/ 
      for(i=2;i<=c;i++)
{
        b[j]=sum1/m;
        shi= sum1-m*b[j];
        sum1=shi*10+(a[i]-48);
        j++;
} 
     
     for(i=0;i<j;i++)
     {
     if(b[i]==0&&count==0)
     {
     continue;
}else
{
count++;
 printf("%d",b[i]);
}
}
printf(" %d",shi);
    }
     return 0;
 }

举报

相关推荐

0 条评论