fork download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define FR0(i,N) for(i=0;i<(N);i++)
  4. #define FR1(i,N) for(i=1;i<=(N);i++)
  5. #define FRN(i,k,N) for(i=k;i<(N);i++)
  6. #define pf printf
  7. #define db double
  8. #define max3(a,b,c) max(max(a,b),c)
  9. #define min3(a,b,c) min(min(a,b),c)
  10. #define sci(n) scanf("%d",&n)
  11. #define scl(n) scanf("%lld",&n)
  12. #define scf(n) scanf("%f",&n)
  13. #define scd(n) scanf("%lf",&n)
  14. #define scs(s) scanf("%s",&s)
  15. #define scll(n) scanf("%%I64d",&n)
  16. #define PI acos(-1.0)
  17. #define LL long long
  18. #define MX 1000005
  19. #define MOD 1000000007
  20. typedef long long int ll;
  21. bool status[1100002];
  22. int decimal(int p,int b)//convert into deciaml number;
  23. {
  24. int n=0;
  25. int rem,res=0;
  26. while(p)
  27. {
  28. rem=p%10;
  29. res+=rem*pow(b,n++);
  30. p/=10;
  31. }
  32. // cout<<"res = "<<res<<endl;
  33. return res;//return the decimal number;
  34. }
  35. void desire(int k,int b)
  36. {
  37. if(k==0)
  38. {
  39. cout<<"0";
  40. }
  41. else
  42. {
  43. int x=0;
  44. int arr[1000];//for 1000 digit according to problem description;
  45. while(k)
  46. {
  47. arr[x++]=k%b;//keep value in arr;
  48. k/=b;
  49. }
  50. for(int i=x-1; i>=0; i--)
  51. {
  52. cout<<arr[i];//arr value are print;
  53. }
  54. }
  55. cout<<endl;
  56. }
  57. int main()
  58. {
  59. char ch[1000];
  60. int b,p,mod;
  61. {
  62. while(cin>>b)
  63. {
  64. if(b==0) break;
  65. cin>>ch>>p;
  66. mod=decimal(p,b);
  67. //cout<<"mod = "<<mod<<endl;
  68. //Starting process large number to mod and converting decimal;
  69. int k = ch[0]-48;
  70. //cout<<"Above k = "<<k<<endl;
  71. k=k%mod;
  72. //cout<<"under k = "<<k<<endl;
  73. for(int i=1; i<strlen(ch); i++)
  74. {
  75. k=k*b+ch[i]-48;
  76. //cout<<"before mode of k = "<<k<<endl;
  77. k=k%mod;
  78. //cout<<"After mode of k = "<<k<<endl;
  79. }
  80. desire(k,b);
  81. }
  82. }
  83. }
  84.  
Success #stdin #stdout 0s 4532KB
stdin
2 1100 101
10 123456789123456789123456789 1000
0
stdout
10
789