九度OJ-1138-大数的求余
来源:互联网 发布:轮回转世是真的吗 知乎 编辑:程序博客网 时间:2024/05/19 09:39
题目描述:
将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。
输入:
多组数据,每行为一个长度不超过30位的十进制非负整数。
(注意是10进制数字的个数可能有30个,而非30bits的整数)
输出:
每行输出对应的二进制数。
样例输入:
0
1
3
8
样例输出:
0
1
11
1000
#include <stdio.h>#include <string.h>#include <stdlib.h>#define DATA 40#define MAX 200void ten2Bin(char *);char bin[MAX];int main(){ char str[DATA]; while(scanf("%s",str)!=EOF) { ten2Bin(str); puts(bin); } return 0;}void ten2Bin(char * str){ int i,j,k,len,sum,d; char temp; //init sum =1; len = strlen(str); k=0; memset(bin,0,sizeof(bin)); while(sum) { sum=0; for ( i = 0; i < len; ++i)//一次for循环后可得到一个商和余数 { d = (str[i]-'0')/2; sum +=d; if (i==len-1) { bin[k++]=(str[i]-'0')%2+'0'; }else { str[i+1]+=(str[i] - '0')%2*10; } str[i] = d+'0'; } } //reverse for (i = 0, j =k-1;i<j; ++i,j--) { temp=bin[j]; bin[j]=bin[i]; bin[i]=temp; }}
0 0
- 九度OJ-1138-大数的求余
- NYOJ - 105 - 九的余数(大数求余)
- NYOJ 105 九的余数 (大数求余&同余定理)
- C语言大数乘法求1000的阶乘(九度OJ 1076)
- 九度 1138 - 大数除余 - 进制转换
- 九度1138:进制转换(大数除余)
- 大数求余
- 大数求余
- 大数求余
- 大数求余
- 大数求余
- 大数求余
- 大数求余
- 大数求余
- 大数求余
- 大数求余
- Bestcoder 大数求余
- HW---大数求余
- 《从0到1》读书笔记第3章“所有成功的企业都是不同的”第1记:成功企业垄断,失败企业竞争
- 黑马程序员——7k面试题—银行业务调度问题
- IOS之方法混写(swizzling.)
- 进制与编码
- .net源码摘录,已展开
- 九度OJ-1138-大数的求余
- 实现一个通讯录(数组实现)
- 安卓基础总结 Service相关
- 在RegisterCommon()函数
- leetcode Sort List
- IOS 隐藏键盘
- 黑马程序员——Java基础->基础语法(下)
- 中国队1:3日本队
- atitit.窗体静听esc退出本窗体java swing c# .net php