web-dev-qa-db-ja.com

Java:ループ付き配列

100個の数字(1〜100)で配列を作成し、それがどれだけになるかを計算する必要があります(1 + 2 + 3 + 4 + .. + 100 = sum)。

これらの数値を手動で配列に入力したくないので、100個のスポットには時間がかかり、コードのコストがかかります。

私は変数++を100まで使用して、その合計を計算するようなものを考えています。それが正確にどのように書かれているかわからない。しかし、配列内にあることが重要なので、後で「配列55はいくらですか」と言うこともでき、簡単に確認できます。

18
Michael

方法は次のとおりです。

// Create an array with room for 100 integers
int[] nums = new int[100];

// Fill it with numbers using a for-loop
for (int i = 0; i < nums.length; i++)
    nums[i] = i + 1;  // +1 since we want 1-100 and not 0-99

// Compute sum
int sum = 0;
for (int n : nums)
    sum += n;

// Print the result (5050)
System.out.println(sum);
41
aioobe

あなたがしたいのが1,2,3 ... nの合計を計算するだけなら、あなたは使うことができます:

 int sum = (n * (n + 1)) / 2;
9
Bala R
int count = 100;
int total = 0;
int[] numbers = new int[count];
for (int i=0; count>i; i++) {
    numbers[i] = i+1;
    total += i+1;
}
// done
6
Charles Goodwin

結果の配列をどの構造にしたいのかわかりませんが、次のコードは私が思考あなたが求めていることをします:

int sum = 0;
int[] results = new int[100];
for (int i = 0; i < 100; i++) {
  sum += (i+1);
  results[i] = sum;
}

ループの各ポイントでの合計の配列[1, 3, 6, 10...]

4
jefflunt

配列を作成するには:

int[] numbers = new int[100];
for (int i = 0; i < 100; i++) {
    numbers[i] = i+1;
}

そしてそれを合計する:

int ans = 0;
for (int i = 0; i < numbers.length; i++) {
    ans += numbers[i];
}

要するに、1からnまでの合計が必要な場合:

nn +1))/ 2

2
Nico Huysamen

これは実際には、1として共通の差がある数学的進行の合計です。したがって、これは自然数の合計の特殊なケースです。 1行のコードで簡単に実行できます。

int i = 100;
// Implement the fomrulae n*(n+1)/2
int sum = (i*(i+1))/2;
System.out.println(sum);
1
Sriram

数値の配列が常に1で始まりXで終わる場合、次の式を使用できます。sum = x *(x + 1)/ 2

1から100までの合計は100 * 101/2 = 5050

1
TRD

int [] nums = new int [100];

int sum = 0;

// forループfor(int i = 0; i <nums.length; i ++)を使用して数値を入力します

{ 
     nums[i] = i + 1;
    sum += n;
}

System.out.println(sum);

0
Sashi Kant