问题 F: 除以13
时间限制: 1 Sec 内存限制: 128 MB
提交: 3 解决: 3
[提交][状态][讨论版]
题目描述
输入一个大于0的大整数N,长度不超过100位,要求输出其除以13得到的商和余数。
输入
一个大于0的大整数,长度不超过100位。
输出
两行,分别为整数除法得到的商和余数。
样例输入
2132104848488485
样例输出
164008065268345
#include<bits/stdc++.h>
using namespace std;
int main()
{
char a1[102];
int a[102],x=0,c[102];
scanf("%s",&a1);
int L=strlen(a1),L1=1;
int i,j;
for(i=1;i<=L;i++)
a[i]=a1[i-1]-'0';//除法从高位开始,因此不用逆序
for(i=1;i<=L;i++)
{
c[i]=(x*10+a[i])/13;
x=(x*10+a[i])%13;//借给下一位
}
while(c[L1]==0&&L1<L)
L1++;
for(i=L1;i<=L;i++)
printf("%d",c[i]);
printf("\n%d",x);
return 0;
}