題解:大整數除法,以數組的形式一位一位進行操作
注意:商中0的輸出,即當某位不夠13的時候,要商0
#include <stdio.h>
#include <iostream>
#include <string>
using namespace std;
int main(){
int a[105];
string s;
cin>>s;
int tmp[105];
int y=0;
for(int i=0;i<s.size();i++){
a[i]=s[i]-'0';
}
bool flag=false;
for(int i=0;i<s.size();i++){
int t=y*10+a[i];
while(t<13&&i+1<s.size()){//不夠13的時候商0,並加上下一位
i++;
t=t*10+a[i];
if(flag)cout<<0;
}
y=t%13;
tmp[i]=t/13;
cout<<t/13;
flag=true;
}
cout<<endl;
cout<<y<<endl;//得到餘數
return 0;
}