3218 - 第二届校赛样题-简单题样例

通过次数

0

提交次数

0

时间限制 : 1 秒 内存限制 : 128 MB

给定一个正整数N(N保证<=10000),输出大于等于1且小于等于N的所有奇数的和。

(来源:2009余姚市程序设计竞赛小学组)

题目输入

第一行为一个正整数T,表示题目输入的组数。(1<T<10000)

接下来T行,每行输入一个整数N。

题目输出

对每组输入,在单独的一行中输出结果。

输入/输出样例

输入格式

2
5
10

输出格式

9
25

C语言解答

#include<stdio.h>
int main()
  {
  int a,b,c,q,w,i,z;
  scanf("%d",&a);
  while(a--)
    {
  scanf("%d",&b);
   if(b%2==0) b--;
 if(b%2!=0)b=b;
   c=b/2;
    q=c+1;w=q*q;
    printf("%d\n",w);

  }

  }

C++解答

#include <iostream>
#include <cstring>
#include <fstream>
using namespace std;
int main()
{
    //ifstream cin;
    //ofstream cout;
    //cin.open("a.in");
    //cout.open("a.out");
    int testcase;
    cin>>testcase;
    while(testcase--)
    {
        int result=0,tar;
        cin>>tar;
        for(int i=1;i<=tar;i+=2)
        {
            result+=i;
        }
        cout<<result<<endl;
    }


    return 0;
}

Java解答

import java.util.Scanner;
class Main {
	public static void main(String args[]) {
		Scanner reader = new Scanner(System.in);
		int T = reader.nextInt();
		for (int i = 0; i < T; i++) {
			int sum = 0;
			int a = reader.nextInt();
			for (int j = 1; j <=a; j++) {
				if (j % 2 != 0) {
					sum = sum + j;
				}
			}
			System.out.println(sum);
		}
	}
}