1036. 进制转换 (Standard IO)
时间限制: 1000 ms 空间限制: 262144 KB 具体限制
题目描述
模拟将任意给定的正整数n转换成对应的二进制数的过程:对于输入的任意正整数n,输出若干行“shang:* yu:*”的形式,表示其转换过程。
输入
输入正整数n。
输出
输出其转为二进制的过程(具体见样例)。
样例输入
13
样例输出
shang:6 yu:1 shang:3 yu:0 shang:1 yu:1 shang:0 yu:1
数据范围限制
1<=n<=5000
-------------------------------------------------------------
问题分析
这道题没有坑,关键应该是考do while循环的使用。
程序代码
#include <iostream>
using namespace std;
int main()
{
int n,d,k;
cin >> n;
do{
d=n>>1;
k=n%2;
cout << "shang:"<< d << " yu:" <<k<<endl;
n=d;
}while(n!=0);
return 0;
}