码迷,mamicode.com
首页 > 其他好文 > 详细

吐槽吐槽~~~~~~~~~~~~~

时间:2015-08-10 19:44:41      阅读:123      评论:0      收藏:0      [点我收藏+]

标签:

http://acm.hdu.edu.cn/showproblem.php?pid=1001

/(ㄒoㄒ)/~~原来我如此的弱,简直不测不知道,一测就吓死宝宝了/(ㄒoㄒ)/~~

提交了10次,也是够了,一直没意识到的问题就是溢出问题,还有就是奇偶问题

三种做法,实际上是两种。

 1 #include<stdio.h>
 2 
 3 int main()
 4 
 5 {
 6 
 7     int i,n;__int64 sum;//这里需要把sum的类型设置为__int64,否则会溢出。
 8 
 9     while(scanf("%d",&n)!=EOF)
10 
11 {
12        sum=0;
13 
14       for(i=1;i<=n;i++)
15 
16        sum+=i;
17 
18        printf("%I64d\n\n",sum);
19 
20  
21 
22 }
23 
24 return 0;
25 
26 }

第二:

 1 #include<stdio.h>
 2 int main()
 3 {
 4     int n;
 5     __int64 sum;
 6     while (scanf_s("%d",&n)!=EOF)
 7     {
 8         sum = 0;
 9         if (n % 2 == 0)
10             sum = (n / 2)*(n + 1);
11         else
12 
13         sum = (1 + n) / 2*n;
14         printf("%I64d\n\n",sum );
15             
16     }
17     return 0;
18 }

 

 

 

至于第三种就是把sum用浮点输出,这样就可以不用讨论奇偶啦~~~~~~~关于溢出,就是先除2再乘,这样防止溢出,第一次用__Int64,简直棒棒的,溢出问题还是要好好注意,因为不然………………………………后果很严重2333333333333333

吐槽吐槽~~~~~~~~~~~~~

标签:

原文地址:http://www.cnblogs.com/Lynn0814/p/4718816.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!