国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

HDU 1001 Sum Problem

2019-11-14 10:16:34
字體:
供稿:網(wǎng)友

Sum PRoblem

Time Limit: 1000/500 MS (java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 454929    Accepted Submission(s): 114527Problem DescriptionHey, welcome to HDOJ(Hangzhou Dianzi University Online Judge).In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + ... + n. InputThe input will consist of a series of integers n, one integer per line. OutputFor each case, output SUM(n) in one line, followed by a blank line. You may assume the result will be in the range of 32-bit signed integer. Sample Input
1100 Sample Output
15050 新手的水題,本來沒什么難度,但對于像我這樣初上路的新手,還是會遇到很多問題,寫下來促進自己提升。首先可以直接用疊加#include<stdio.h>int main() {int n , sum = 0;while (scanf("%d", &n) != EOF) {for (int i = 0; i <= n; i++) {sum += i;}printf("%d/n/n", sum);}return 0;}看起來沒什么問題,但是提交上去卻是Wrong Answer仔細看一下可以發(fā)現(xiàn)sum每完成一個SUM(n)后沒有清零,把值帶入了下一個SUM(n)的計算中,正確的代碼應(yīng)該為:#include<stdio.h>int main() {int n;while (scanf("%d", &n) != EOF) {int sum = 0; // sum應(yīng)該在這里定義for (int i = 0; i <= n; i++) {sum += i;}printf("%d/n/n", sum);}return 0;}如果用公式做sum = (n+1)*n/2 則需要注意另一個問題。題目說結(jié)果不超過32bit,但是如果用公式做的話中間值(n+1)*n可能超過32bit,提交如下代碼#include<stdio.h>int main() {int n, sum = 0;while (scanf("%d", &n) != EOF) {sum = (n+1)*n/2;printf("%d/n/n", sum);}return 0;}果然是Wrong Answer正確的代碼
#include<stdio.h>int main() {    int n, sum = 0;    while (scanf("%d", &n) != EOF) {        if(n%2==0)           sum=n/2*(1+n);        else           sum=(n+1)/2*n;        printf("%d/n/n", sum);    }    return 0;}新手入門,處處是坑。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 会同县| 洛阳市| 临海市| 赤峰市| 玛纳斯县| 昂仁县| 宁远县| 中超| 通河县| 奉新县| 鄄城县| 连平县| 山东省| 外汇| 长白| 林周县| 文昌市| 张家口市| 八宿县| 乐平市| 鄂托克旗| 绥江县| 通许县| 新郑市| 贵溪市| 赤壁市| 北流市| 南乐县| 安泽县| 常山县| 泽普县| 保山市| 夏河县| 平舆县| 保定市| 灵璧县| 六盘水市| 六盘水市| 彰武县| 磐安县| 遂平县|