NC15482. 十进制二进制
描述
模拟将任意给定的正整数n转换成对应的二进制数的过程:对于输入的任意正整数n,输出若干行“shang:* yu:*”的形式,表示其转换过程。(要求使用C语言)
输入描述
输入正整数n。
输出描述
输出其转为二进制的过程(具体见样例)。
示例1
输入:
13
输出:
shang:6 yu:1 shang:3 yu:0 shang:1 yu:1 shang:0 yu:1
说明:
注意格式,shang和yu之间用一个空格隔开C++11(clang++ 3.9) 解法, 执行用时: 4ms, 内存消耗: 484K, 提交时间: 2020-02-15 12:43:42
#include<stdio.h> int main() { int n; scanf("%d",&n); while(n!=0) { printf("shang:%d yu:%d\n",n/2,n%2); n/=2; } return 0; }
C 解法, 执行用时: 3ms, 内存消耗: 288K, 提交时间: 2021-11-06 23:12:49
#include<stdio.h> main() { int n; scanf("%d",&n); while(n>0) { printf("shang:%d yu:%d\n",n/2,n%2); n/=2; } }
Python3 解法, 执行用时: 41ms, 内存消耗: 4484K, 提交时间: 2022-08-29 01:35:59
n=int(input()) while n: print(f'shang:{n//2} yu:{n%2}') n>>=1