JAVA31. 十进制数转二进制数
描述
控制台随机输入一个十进制数,请你将它转换为二进制数并输出输入描述
控制台随机输入的十进制正整数输出描述
该十进制数转换的二进制数字示例1
输入:
9
输出:
1001
C 解法, 执行用时: 2ms, 内存消耗: 348KB, 提交时间: 2021-11-13
#include<stdio.h> int fact(int n) { if(n<2) return n; else return fact(n/2)*10+n%2; } int main() { int n; while (scanf("%d",&n)!=EOF) { printf("%d\n",fact(n)); } return 0; }
C++ 解法, 执行用时: 3ms, 内存消耗: 408KB, 提交时间: 2021-10-30
#include<iostream> #include<string> using namespace std; int main() { int a; string b; bool isend = true; cin >> a; while(isend) { if(a%2==1) { a/=2; b="1"+b; } else if(a%2==0) { a/=2; b="0"+b; } if(a==0) { isend = false; b = "0"; } else if(a==1) { b="1"+b; isend = false; } } cout << b << endl; }
C 解法, 执行用时: 4ms, 内存消耗: 352KB, 提交时间: 2022-03-27
#include<stdio.h> int main() { int n, a[14]; int i = 0; //printf("请输入十进制数n:"); scanf("%d", &n); if(n==0)printf("0"); else { while (n>0) { a[i] = n % 2; i++; n = n / 2; } for (i--; i >= 0; i--) { printf("%d", a[i]); } } printf("\n"); return 0; }
C++ 解法, 执行用时: 4ms, 内存消耗: 404KB, 提交时间: 2022-03-23
#include <iostream> using namespace std; int main() { int num; cin >> num; string s = ""; if(num == 0) { cout << "0"<<endl; return 0; } while(num) { if(num & 1) { s.insert(0,1,'1'); }else { s.insert(0,1,'0'); } num >>= 1; } cout << s << endl; return 0; }
C++ 解法, 执行用时: 4ms, 内存消耗: 416KB, 提交时间: 2022-03-07
#include <iostream> #include<cstdio> #include<vector> using namespace std; void convert(int number){ vector<int> ans; if(number==0){ ans.push_back(0); }else{ while(number!=0){ ans.push_back(number%2); number/=2; } } for(int i=ans.size()-1;i>=0;--i){ printf("%d",ans[i]); } printf("\n"); } int main() { int number; while(cin>>number){ convert(number); } return 0; }