求助
大佬们看一下这个代码为什么每次结果都不一样呢?
第三题。谢谢。
#include <bits/stdc++.h> using namespace std; char n[1001]={0}; struct bign{ int d[1000]; int len; }; bign change(char str[]){ bign a; a.len=strlen(str); for (int i=0;i<a.len;i++) a.d[i]=str[a.len-i-1]-'0'; return a; } bign divide(bign a,int b,int& r){ bign c; c.len=a.len; for (int i=a.len-1;i>=0;i--){ r=r*10+a.d[i]; if (r<b) c.d[i]=0; else { c.d[i]=r/b; r%=b; } } while (c.len-1>=1&&c.d[c.len-1]==0){ c.len--; } return c; } int main(){ int k,r; scanf("%s", n); cin>>k; // cout<<n<<" "<<k<<endl; bign d = change(n); bign a=divide(d,k-1,r); for (int i=a.len-1;i>=0;i--) { cout<<a.d[i]; } return 0; }