Programme qui pour N=10 retourne tab=[0,1,1,2,2,2,3,3,3,3]

Fermé
sebbb02 - 9 juin 2014 à 12:48
 Utilisateur anonyme - 9 juin 2014 à 13:02
Bonjour, pour compléter un programme java j'essaie de réaliser, il me faut une fonction qui prend pour argument N et qui retourne un tableau avec une "double incrémentation".

Un exemple pour être plus clair :

N=10

tab = [0,1,1,2,2,2,3,3,3,3]

Je ne trouve pas de solution depuis hier, c'est pourquoi je vous demande votre aide :/

Merci d'avance.
A voir également:

1 réponse

Utilisateur anonyme
9 juin 2014 à 13:02
ca devrait ressembler a ca :

public ArrayList<int> machin(int n){
ArrayList<int> tab = new ArrayList<>;
int p = 0;
int k = 1;
while(tab.size()<n){
for(int j =0; j<k;j++){
tab.add(p)
}
p = p+1
k=k+1
}
if(tab.size>n){
for(int h = tab.size; h>n;h--){
tab.REMOVELAST
}
}
}
c'est très moche mais bon ... ca devrait fonctionner.

le while permet de mettre autant déléments que necessaire. le if supprime les derniers éléments jusqua atteindre le bon nombre si il y a eu dépassement. jene me souvient plus du nom pour supprimer le dernier élément donc c'est REMOVELAST


et enfin , car ccm n'est pas la pour faire ton travail , il y a plein de petite erreur come des () manquantes , et pas d'indentation , désolé :)
0