信息学奥赛一本通(1161:转进制)
生活随笔
收集整理的這篇文章主要介紹了
信息学奥赛一本通(1161:转进制)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1161:轉進制
時間限制: 1000 ms ??? ??? 內存限制: 65536 KB
提交數: 14547 ??? 通過數: 10392
【題目描述】
用遞歸算法將一個十進制數X轉換成任意進制數M(M≤16)。
【輸入】
一行兩個數,第一個十進制數X,第二個為進制M。
【輸出】
輸出結果。
【輸入樣例】
31 16 {將十進制31轉化為十六進制數}【輸出樣例】
1F【分析】
? ? ? ? 十六進制,總共有16個數,分別是0~9 和 A~F。可以用字符數組存儲這16個數,10 TO R 進制轉換的方法是短除法,整數部分除R取余,逆序輸出。小數部分乘R取整,正序輸出。
【參考代碼】
#include <stdio.h> void calculate(int n,int k) {char num[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};int tmp;tmp=n%k;n/=k;if(n!=0)calculate(n,k);printf("%c",num[tmp]); } int main() {int x,m;scanf("%d%d",&x,&m);calculate(x,m);printf("\n");return 0; }http://ybt.ssoier.cn:8088/problem_show.php?pid=1161
?
總結
以上是生活随笔為你收集整理的信息学奥赛一本通(1161:转进制)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 信息学奥赛一本通 2034:【例5.1】
- 下一篇: 信息学奥赛一本通(2033:【例4.19