原题链接:C语言训练-舍罕王的失算
解题思路:题目要求相当于求和:2^0+2^1+……+2^63=2^64-1。
双长整型占8字节,而有符号1字节最大可达到+127,无符号1字节(8位二进制)最大可达到2^8-1,8字节正好可达题目要求数据大小,故使用无符号双长整型数据类型。
注意事项:输出格式为无符号双长整型。
不知道此系统无符号双长整型输出格式是啥,在树莓派3上用llu格式测试答案正确,但与参考答案不符。
参考代码:
#include<stdio.h>
int main()
{
int a,b,i;
unsigned long long t=1,sum=0;
for(i=0;i<64;i++){
sum+=t;t*=2;
}
printf("%llu",sum);
return 0;
}
0.0分
2 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复