博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
九度 1138 - 大数除余 - 进制转换
阅读量:6888 次
发布时间:2019-06-27

本文共 960 字,大约阅读时间需要 3 分钟。

事实上主要的十进制转二进制方法我们都知道。就是循环模2。除2这两个过程。以下是一个大概的方法代码。

while(n>0){	binary[count++] = n%2;	n = n/2;}
这道题目就是把除和余的过程变成了大数上的除余。这里我从网上找到了一个博主的博客,他的大数除余写的非常简洁,也算学习借鉴了。这个博主大数的其它算法写的也非常不错。

#include
#include
char data[40];char res[40];char sum[1000];int mod(){ int mod=0,i; for(i=0; i
=2&&!flag) { res[k++]=divis/2+'0'; divis=divis%2; flag=1; } else if(flag) { res[k++]=divis/2+'0'; divis=divis%2; } } if(!k) res[k++]='0'; res[k]='\0'; strcpy(data,res);}int main(){ int n,i; while(~scanf("%s",data)){ if(strcmp(data,"0")==0){ printf("0\n");continue; } n=0; while(strcmp(data,"0")!=0){ sum[n++]=mod(); div(); } for(i=n-1;i>=0;i--){ printf("%d",sum[i]); } printf("\n"); } return 0;}

转载地址:http://wqqbl.baihongyu.com/

你可能感兴趣的文章
2015下半年学习技术任务计划书
查看>>
win7下c#特殊文件夹
查看>>
【leetcode】939. Minimum Area Rectangle
查看>>
LeetCode算法题-Rotate Array(Java实现)
查看>>
LeetCode算法题-Degree of an Array(Java实现)
查看>>
修改文件名并去除文件名中的空格
查看>>
模拟退火算法(一)
查看>>
兼容性—H5标签兼容
查看>>
兼容性—IE6下当元素浮动设置margin时会有双边距
查看>>
新学的文件操作,简单的一些整理
查看>>
OS快捷键
查看>>
js转义字符串与解析字符串(%3A%2F%)
查看>>
Centos7 搭建bind9.9
查看>>
【原】iOS学习之三种拨打电话方式的比较
查看>>
简说设计模式——工厂方法模式
查看>>
vue项目在IE11下报错Promise未定义
查看>>
Sharepoint 2013 Secure Store Service
查看>>
9月--菜鸟吐槽日志
查看>>
CNN卷积神经网络学习记录(2)
查看>>
操作系统
查看>>