1161转进制

题目链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1162

早上来刷道,顺利AC,附加关键题解,瞬间感觉神清气爽。。。。

 

 1 #include<iostream>
 2 using namespace std;
 3 int m,x;//确定全局变量m很重要,这样就不用传参数了 
 4 //f()函数功能:1.输出余数2.递归进入参数为商3.注意两个先后顺序,颠倒后为正序输出 
 5 void f(int n)
 6 {
 7     
 8     if(n>1)f(n/m);
 9     //以下代码是为了当出现16进制时,转换成字符 
10     switch(n%m)
11     {
12         case 10:cout<<'A';break;
13         case 11:cout<<'B';break;
14         case 12:cout<<'C';break;
15         case 13:cout<<'D';break;
16         case 14:cout<<'E';break;
17         case 15:cout<<'F';break;
18         default :cout<<n%m;break;
19     }
20 }
21 int main()
22 {
23     cin>>x>>m;
24     f(x);
25     
26     return 0;
27  } 

 

 AC 之后也再看题解。。

以上代码可以借鉴的地方,用数组来巧妙表示进制位数。。。

但相对于本人的代码,他的函数需要传参2个,而我的代码中巧妙利用全局变量,只需要传参1个。。

 

 

 

转载于:https://www.cnblogs.com/tflsnoi/p/8072023.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值