C语言经典题目“数制转换”代码.doc

上传人:w****2 文档编号:6553973 上传时间:2020-02-28 格式:DOC 页数:2 大小:23.76KB
返回 下载 相关 举报
C语言经典题目“数制转换”代码.doc_第1页
第1页 / 共2页
C语言经典题目“数制转换”代码.doc_第2页
第2页 / 共2页
亲,该文档总共2页,全部预览完了,如果喜欢就下载吧!
资源描述
数制转换(选作)这个题目会给你两个不同的数字,它们不属于同一进制,要求你计算出当它们分别处于何种进制之中时,两个数字相等。譬如 12 和 5 ,在十进制下它们是不等的,但若 12 使用 3 进制而 5 使用六进制或十进制时,它们的值就是相等的。因此只要选择合适的进制, 12 和 5 就可以是相等的。 程序的输入是两个数字 M 和 N( 其十进制的值不超过 1000000000) ,它们的进制在 236 之间。对于十以下的数字,用 09 表示,而十以上的数字,则使用大写的 AZ 表示。 求出分别在 236 哪种进制下 M 和 N 相等。若相等则输出相应的进制,若不等则输出错误信息。当然了,对于多种可能成立的情况,找出符合要求的进制最小的一组就行了。信息的格式见测试用例。程序: #includeint main() long int pm=0,pn=0,s=0,t=0,w=1,e=1,p=0,q=0;int a30,b30;char m30,n30;int i,j,g,k,max1=0,max2=0,flag=0;scanf(%s%s,m,n);for(i=0;mi!=0;i+)if(mi=A&mi=0&mi=9)ai=mi-48;max1=max1(ai+1)?(ai+1):max1;max1=max1=A&nj=0&nj=9)bj=nj-48;max2=max2(bj+1)?(bj+1):max2;max2=max22?2:max2;pn=j;for(i=max1,j=max2;i=36&j=0;g-) p+=ag*w;w=w*i;for(k=pn-1;k=0;k-) q+=bk*e;e=e*j;if(pq) j+; else flag=1; printf(%s (base %d) = %s (base %d)n,m,i,n,j); break; if(flag=0) printf(%s is not equal to %s in any base 2.36n,m,n);return 0;
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!