首页 > 代码库 > HDU1001 关于累加公式的隐性类型转换
HDU1001 关于累加公式的隐性类型转换
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;}
HDU1001 关于累加公式的隐性类型转换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。