A+B probiem

Sum Problem

Time Limit: 1000/500 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 167462 Accepted Submission(s): 39789


Problem Description
Hey, welcome to HDOJ(Hangzhou Dianzi University Online Judge).

In this problem, your task is to calculate SUM(n) = 1 + 2 + 3 + ... + n.

Input
The input will consist of a series of integers n, one integer per line.

Output
For 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
1 100

Sample Output
1 5050
 
我的最先想到的挫逼代码,真的是wa啊:
#include<stdio.h>
int main()
{
	int i,j,n,a,sum=0;
	while(scanf("%d%d",&a,&n)!=EOF)
	{
	   //sum=n*(n+a)/2;
             sum=(int)(n*(n+1.0)/2.0);
	    printf("1\n\n");
	    //printf("%d\n",sum);
	   
		printf("%d\n",sum); 
	}
	
	return 0;
	
}

比较好的代码:
#include <stdio.h>
int main()
{
    int n, sum;
    while (scanf("%d", &n) !=EOF)
    {
        sum = 0;
        while (n != 0)
	   {
            sum += n--;
            }
        printf("%d\n\n", sum);
    }
    return 0;
}

其实我在想它为什么没有超时。。。。。。
最不能让人忍受的是像下面这种代码也能AC
#include <stdio.h>
int sum(int);

int main(){
    int input,output;
    while (scanf("%d",&input)==1)
    {
        output = sum(input);
        printf("%d\n\n",output);
    }
    return 0;
}
int sum(int n){
    int sum,i;
    sum=0;
    for (i=1;i<=n;i++)
    {
        sum+=i;
    }
    return sum;
}

抓狂
解决 A+B Problem 是编程入门中最基础的问题之一,通常要求从标准输入中读取两个整数 A 和 B,并输出它们的和。以下是几种常见编程语言的实现方法,每种方法都展示了如何正确读取输入、计算和输出结果。 ### C++ 实现 在 C++ 中,可以使用 `cin` 读取输入,使用 `cout` 输出结果。以下是一个简洁的实现: ```cpp #include <iostream> using namespace std; int main() { int a, b; cin >> a >> b; cout << a + b; return 0; } ``` 如果需要处理多组输入,可以使用循环结构来持续读取输入并输出结果: ```cpp #include <iostream> using namespace std; int main() { int a, b; while (cin >> a >> b) { cout << a + b << endl; } return 0; } ``` ### C 语言实现 在 C 语言中,可以使用 `scanf` 读取输入,使用 `printf` 输出结果。以下是一个简单的实现: ```c #include <stdio.h> int main() { int a, b; scanf("%d %d", &a, &b); printf("%d\n", a + b); return 0; } ``` 如果需要处理多组输入,可以使用循环结构来持续读取输入并输出结果: ```c #include <stdio.h> int main() { int a, b; while (scanf("%d %d", &a, &b) != EOF) { printf("%d\n", a + b); } return 0; } ``` ### Python 实现 在 Python 中,可以使用 `input()` 函数读取输入,使用 `print()` 函数输出结果。以下是一个简单的实现: ```python a, b = map(int, input().split()) print(a + b) ``` 如果需要处理多组输入,可以使用循环结构来持续读取输入并输出结果: ```python import sys for line in sys.stdin: a, b = map(int, line.strip().split()) print(a + b) ``` ### Java 实现 在 Java 中,可以使用 `Scanner` 类读取输入,使用 `System.out.println()` 函数输出结果。以下是一个简单的实现: ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int a = scanner.nextInt(); int b = scanner.nextInt(); System.out.println(a + b); } } ``` 如果需要处理多组输入,可以使用循环结构来持续读取输入并输出结果: ```java import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); while (scanner.hasNextInt()) { int a = scanner.nextInt(); int b = scanner.nextInt(); System.out.println(a + b); } } } ``` ### JavaScript 实现 在 JavaScript 中,可以使用 `readline` 模块读取输入,使用 `console.log()` 函数输出结果。以下是一个简单的实现: ```javascript const readline = require('readline'); const rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.on('line', (line) => { const [a, b] = line.split(' ').map(Number); console.log(a + b); }); ``` ### 总结 不同编程语言解决 A+B Problem 的方法各有不同,但核心逻辑是相同的:读取输入、计算和输出结果。选择合适的语言和方法,可以根据具体需求和环境进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值