题目描述
输入一个大于0的大整数N,长度不超过100位,要求输出其除以13得到的商和余数。
输入
一个大于0的大整数,长度不超过100位。
输出
两行,分别为整数除法得到的商和余数。
样例输入 Copy
2132104848488485
样例输出 Copy
164008065268345
0
#include<bits/stdc++.h>
using namespace std;
int a[1000005],b[1000005],c[1000005],ac,bc=1,cc,v,n=13,m;
string sa,sb;
int main()
{
cin>>sa;
ac=sa.size();
for(int i=0;i<ac;i++)
a[ac-i]=sa[i]-48;
if(ac<2||ac==2&&a[ac]==1&&a[ac-1]<3)
{
cout<<0<<endl;
for(int i=ac;i>=1;i--)
cout<<a[i];
return 0;
}
for(int i=ac;i>=1;)
{
while(m<n&&i>0)
{
m=m*10+a[i--];
}
while(m>=n)
{
m=m-n;
b[i+1]++;
bc=max(bc,i+1);
}
}
for(int i=bc;i>=1;i--)
printf("%d",b[i]);
printf("\n%d",m);
return 0;
}