HDU 1001就卡了。
受到小白的启发遇到这样的循环题目直接转化成公式求解以优化时间。但是!我就是过不了!
问题代码:
#include<stdio.h> int main() { int a; while(scanf("%d",&a)!=EOF) printf("%d\n\n",a*(1+a)/2); return 0; }
问题在于虽然题目中表示最后结果会在32bit内,但是没保证a*(1+a)也是32bit.......菜鸟又忽略了在除法运算前的隐性类型转化,导致在数据适当大的情况下结果为0.......
这个就过了.......
#include<stdio.h> int main() { long long a; while(scanf("%lld",&a)!=EOF) printf("%lld\n\n",a*(1+a)/2); return 0; }
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步