不同进制数之间的转换和应用

不同进制数之间的转换和应用

ID:21654230

大小:42.00 KB

页数:17页

时间:2018-10-23

不同进制数之间的转换和应用_第1页
不同进制数之间的转换和应用_第2页
不同进制数之间的转换和应用_第3页
不同进制数之间的转换和应用_第4页
不同进制数之间的转换和应用_第5页
资源描述:

《不同进制数之间的转换和应用》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、不同进制数之间的转换和应用例1(ZOJ-1383):给出一个正整数,将它用2进制表示,如果位置上的数是1,则把它的1所在的位置打印出来.规定最低位标志为0.如13,位置上为1的有0,2,3.输入:输入的第一行包含一个正整数d,表示要测试的数据有多少种.1<=d<=10;接着输入d行,每行有一个正整数n,1<=n<=10^6.输出:输出应有d行,每行对应一组测试的结果.每一行的数列成递增排列.分析:只要把n转换成2进制就可以了。源代码:#include#include#

2、includeintmain(){intn,i,j;boolbo;scanf("%d",&n);long*p=(long*)malloc(sizeof(long)*n);for(i=0;i

3、printf("");}system("pause");return0;}例2(ZOJ-1712):当一个数用10进制表示时,第kth位代表10^k的倍数.81307(10)=8*10^4+1*10^3+3*10^2+0*10^1+7*10^0=80000+1000+300+0+7=81307.当一个数用2进制表示时,第kth位代表2^k的倍数.10011(2)=1*2^4+0*2^3+0*2^2+1*2^1+1*2^0=16+0+0+2+1=19.现在出现一种特殊的进制,叫skew2进制.第kth位

4、代表2^(k+1)-1的倍数.10120(skew)=1*(2^5-1)+0*(2^4-1)+1*(2^3-1)+2*(2^2-1)+0*(2^1-1)=31+0+7+6+0=44.输入:有多种测试,每行有一个整数n,如果n=0停止测试.n是用skew进制表示的整数.输出:对每一个数,输出它的10进制表示.源代码:#include#includeintmain(){longintsum;inti,j,k;charp[100];scanf("%s",p);while(p

5、[0]!='0'){sum=0;j=strlen(p);k=1;for(i=j-1;i>=0;i--){k=k*2;sum=sum+(p[i]-'0')*(k-1);}printf("%ld",sum);scanf("%s",p);}return0;}例3(ZOJ-2371):考虑所有由非负的3的次方组成的集合.S={1,3,9,27,81,...}考虑由S的子集组成的序列(按子集里元素的总和递增排列).问题是找出在这个序列里第n-th个位置上的子集,并将它按元素递增的方向排列.输入:每行包含一个数n

6、,并且n不超过19位.当n=0时,停止测试.输出:对每个n,输出第n-th个子集.输出格式如下.输入:11478311259009816340490输出:{}{3,9}{3,9,27,6561,19683}{59049,3486784401,205891132094649,717897987691852588770249}分析:观察这个序列的前几项{},{1},{3},{1,3},{9},{1,9},{3,9},{1,3,9}。对于{1,3,9,27,81,...},1为第一位,3为第二位,9位第三位。如

7、果把{}对应0(什么都没有);{1}对应1;{3}对应10;{1,3}对应11;{9}对应100;{1,9}对应101;{3,9}对应110;{1,3,9}对应111。发现规律这个序列的每一项对应一个唯一的2进制码,且从左直右,连续递增。而2进制0,1,10,11,100,101,110,111。。。。。刚好对应10进制中的0,1,2,3,4,5,6,7,8。。。。。因此求第n-th个子集可以先把n转化成2进制的格式。且定义从右直左为第一位,第二位,第三位。。。。。。。在n的2进制格式里,那一位是1,就表

8、示包含集合S{1,3,9,27,81,...}中的第几个元素。源代码:#include#include#includevoidf(char*a,char*c){inti,j,ca,*s;ca=strlen(a);s=(int*)malloc(sizeof(int)*(ca+1));for(i=0;i

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。