热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

我想静静3

★实验任务上回说到,你奔走于各个世界线拯救静静。现在,完成任务的你决定玩个简单的游戏静一静。我们知道,数字在计算机里是用二进制存储的&#x
★ 实验任务
上回说到,你奔走于各个世界线拯救静静。现在,完成任务的你决定玩个简单的游戏静
一静。我们知道,数字在计算机里是用二进制存储的,现在你想知道如果把一个数字的二进
制倒过来是多少。,比如 int a = 5,用二进制表示就是 00000000000000000000000000000101。
把它倒过来就是 10100000000000000000000000000000,对应的十进制就是 2684354560。
★ 数据输入
输入第一行为一个数 N,代表一共有 N 个数要处理。0 接下去有 N 个 32 位整数
★ 数据输出
对于每个数,输出二进制逆序后对应的十进制的值是多少
int 的。
输入示例 
5
0
1
2
3
4

输出示例

2147483648
1073741824
3221225472

536870912  


[解题思路]

首先我们想到的是将一个数转化为二进制,再反过来转化为十进制数,对应的代码为:

[代码]

#include
#include
int main(){int n;scanf("%d",&n);while(n--){unsigned int sum=0,m;scanf("%d",&m);unsigned int a[32]={0};int k=0;while(m){int temp=m%2;m/=2;a[k++]=temp;}for(int i=31,j=0;i>=0;i--,j++){unsigned int t=pow(2*a[i],j);sum+=t;}printf("%u\n",sum);}
}


这样的话,对于时间的要求就会很高,这时候我们考虑到要优化代码:

我们知道

a[n]*(2^n)+a[n-1]*(2^n-1)+a[n-2]*(2^n-2)+......+a[2]*(2^2)+a[1]*(2^1)+a[0]*(2^0)=a[n]*2{a[n-1]*2{a[n-2]*2{......}}}

所以我们可以从里面到外面进行处理这个问题

[代码]

#include
unsigned change(int n);
int main()
{int num;scanf("%d",&num);while(num--){int n;unsigned m;scanf("%d",&n);m=change(n);printf("%u\n",m);}
}unsigned change(int n)
{int i=31;unsigned a[32]={0};unsigned sum=0;while(n){a[i]=n%2;n/=2;i--;}//用a[32]存储该数的二进制数for(i=31;i>0;i--){sum=a[i]*2;a[i-1]+=sum;}return sum;
}




推荐阅读
  • Hadoop MapReduce 实战案例:手机流量使用统计分析
    本文通过一个具体的Hadoop MapReduce案例,详细介绍了如何利用MapReduce框架来统计和分析手机用户的流量使用情况,包括上行和下行流量的计算以及总流量的汇总。 ... [详细]
  • 题目概述:Sereja 拥有一个由 n 个整数组成的数组 a1, a2, ..., an。他计划执行 m 项操作,这些操作包括更新数组中的特定元素、增加数组中所有元素的值,以及查询数组中的特定元素。 ... [详细]
  • 题目描述:Balala Power! 时间限制:4000/2000 MS (Java/Other) 内存限制:131072/131072 K (Java/Other)。题目背景及问题描述详见正文。 ... [详细]
  • 本文介绍了使用Python和C语言编写程序来计算一个给定数值的平方根的方法。通过迭代算法,我们能够精确地得到所需的结果。 ... [详细]
  • 编程解析:CF989C 花朵之雾 (构造算法)
    本文深入探讨了CF989C '花朵之雾'问题的构造算法,提供了详细的解题思路和代码实现。 ... [详细]
  • 本文详细探讨了HihoCoder平台上的1398号问题——最大权闭合子图的求解方法。通过具体实例,深入分析了最大权闭合子图的概念及其算法实现。 ... [详细]
  • 探讨了一个包含纯虚函数的C++代码片段,分析了其中的语法错误及逻辑问题,并提出了修正方案。 ... [详细]
  • 想把一组chara[4096]的数组拷贝到shortb[6][256]中,尝试过用循环移位的方式,还用中间变量shortc[2048]的方式。得出的结论:1.移位方式效率最低2. ... [详细]
  • 本文详细介绍如何在 Apache 中设置虚拟主机,包括基本配置和高级设置,帮助用户更好地理解和使用虚拟主机功能。 ... [详细]
  • Hanks博士是一位著名的生物技术专家,他的儿子Hankson对数学有着浓厚的兴趣。最近,Hankson遇到了一个有趣的数学问题,涉及求解特定条件下的正整数x,而不使用传统的辗转相除法。 ... [详细]
  • 本文介绍了如何使用 Python 的 Pyglet 库加载并显示图像。Pyglet 是一个用于开发图形用户界面应用的强大工具,特别适用于游戏和多媒体项目。 ... [详细]
  • Gradle 是 Android Studio 中默认的构建工具,了解其基本配置对于开发效率的提升至关重要。本文将详细介绍如何在 Gradle 中定义和使用共享变量,以确保项目的一致性和可维护性。 ... [详细]
  • 本文针对HDU 1042 N! 问题提供详细的解析和代码实现。题目要求计算给定整数N(0 ≤ N ≤ 10000)的阶乘N!。文章不仅提供了算法思路,还附上了C++语言的具体实现。 ... [详细]
  • 本文详细介绍了在Luat OS中如何实现C与Lua的混合编程,包括在C环境中运行Lua脚本、封装可被Lua调用的C语言库,以及C与Lua之间的数据交互方法。 ... [详细]
  • OpenCV中的霍夫圆检测技术解析
    本文详细介绍了如何使用OpenCV库中的HoughCircles函数实现霍夫圆检测,并提供了具体的代码示例及参数解释。 ... [详细]
author-avatar
mobiledu2502921107
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有