列表

详情


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

上一题