教你夺冠


私信TA

用户名:835685327

访问量:148612

签 名:

相互交流 相互学习

等  级
排  名 13
经  验 21606
参赛次数 0
文章发表 84
年  龄 0
在职情况 学生
学  校 辣鸡施工大学
专  业

  自我简介:

努力刷题 熟能生巧!

直接除2取余就好了

#include <stdio.h>
#include <stdlib.h>


int main(void)
{
	int a;
	scanf("%d", &a);
	
	int b[16] = { 0 };
	int bindex = 0;
	
	int rest;
	while (a / 2 != 0)
	{
		rest = a % 2;
		b[bindex++] = rest;
		a = a / 2;
	}
	b[bindex] = a % 2;
	
	/*
	int i;
	for (i = 15; i >= 0; i--)
	{
		printf("%d", b[i]);
	}
	printf("\n");
	*/
	
	int tmp1 = b[7];
	int tmp2 = b[6];
	int tmp3 = b[5];
	int tmp4 = b[4];
	//printf("%d %d %d %d\n", tmp1, tmp2, tmp3, tmp4);
	int res = tmp1 * 2*2*2 + tmp2 * 2*2 + tmp3 * 2 + tmp4 * 1;
	
	printf("%d\n", res);
	
	return 0;
}


 

0.0分

2 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区