web-dev-qa-db-fra.com

Java: tableau avec boucle

Je dois créer un tableau avec 100 nombres (1-100) et ensuite calculer combien tout cela sera (1 + 2 + 3 + 4 + .. + 100 = somme).

Je ne veux pas entrer ces nombres dans les tableaux manuellement, 100 points prendraient du temps et coûteraient plus de code.

Je pense quelque chose comme utiliser variable ++ jusqu'à 100 et ensuite calculer la somme de tout cela. Je ne sais pas comment exactement cela serait écrit. Mais il est important que ce soit dans les tableaux afin que je puisse aussi dire plus tard, "Combien coûte tableau 55" et que je peux facilement le voir.

17
Michael

Voici comment:

// 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);
40
aioobe

Si tout ce que vous voulez faire, c'est calculer la somme de 1,2,3 ... n, vous pouvez utiliser:

 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

Je ne suis pas sûr de la structure dans laquelle vous voulez placer votre tableau résultant, mais le code suivant fera ce que je pense que vous demandez:

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

Vous donne un tableau de la somme en chaque point de la boucle [1, 3, 6, 10...]

4
jefflunt

Pour remplir le tableau:

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

et puis pour résumer:

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

ou en bref, si vous voulez la somme de 1 à n :

( n ( n +1))/2

2
Nico Huysamen

c'est en fait la somme d'une progression arithmatique avec une différence commune égale à 1. Il s'agit donc d'un cas particulier de somme de nombres naturels. Son facile peut être fait avec une seule ligne de code.

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

Si votre tableau de nombres commence toujours par 1 et se termine par X, vous pouvez utiliser la formule suivante: Sum = x * (x + 1)/2

de 1 à 100, la somme serait de 100 * 101/2 = 5050

1
TRD

int [] nums = new int [100];

int sum = 0;

// Remplissez-le avec des nombres en utilisant une boucle for For

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

System.out.println (somme);

0
Sashi Kant