2369. Nim-B Sum
2011-05-20 09:26 Min·zc 阅读(219) 评论(0) 编辑 收藏 举报
1 /*
2 *数制转换
3 */
4
5 #include <iostream>
6 #include <memory.h>
7 using namespace std;
8 int bx[100];
9 int by[100];
10 int ans[100];
11 int n,b,x,y;
12 int lx,ly;
13 int main()
14 {
15 int t;
16 cin>>t;
17 while(t--)
18 {
19
20 cin>>n>>b>>x>>y;
21 memset(bx,0,sizeof(bx));
22 memset(by,0,sizeof(by));
23 memset(ans,0,sizeof(ans));
24 lx=ly=0;
25 while(x)
26 {
27 bx[lx++]=x%b;
28 x/=b;
29 }
30 while(y)
31 {
32 by[ly++]=y%b;
33 y/=b;
34 }
35 int max=lx>=ly?lx:ly;
36 for(int i=0;i<max;i++)
37 ans[i]=(bx[i]+by[i])%b;
38 int num=0;
39 for(int i=max;i>=0;i--)
40 {
41 // cout<<num<<" ";
42 num*=b;
43 num+=ans[i];
44 }
45 cout<<n<<" "<<num<<endl;
46 }
47 }
2 *数制转换
3 */
4
5 #include <iostream>
6 #include <memory.h>
7 using namespace std;
8 int bx[100];
9 int by[100];
10 int ans[100];
11 int n,b,x,y;
12 int lx,ly;
13 int main()
14 {
15 int t;
16 cin>>t;
17 while(t--)
18 {
19
20 cin>>n>>b>>x>>y;
21 memset(bx,0,sizeof(bx));
22 memset(by,0,sizeof(by));
23 memset(ans,0,sizeof(ans));
24 lx=ly=0;
25 while(x)
26 {
27 bx[lx++]=x%b;
28 x/=b;
29 }
30 while(y)
31 {
32 by[ly++]=y%b;
33 y/=b;
34 }
35 int max=lx>=ly?lx:ly;
36 for(int i=0;i<max;i++)
37 ans[i]=(bx[i]+by[i])%b;
38 int num=0;
39 for(int i=max;i>=0;i--)
40 {
41 // cout<<num<<" ";
42 num*=b;
43 num+=ans[i];
44 }
45 cout<<n<<" "<<num<<endl;
46 }
47 }