Langage C : Suite d'entiers à somme S
Bonjour à tous !
J'ai en idée d'écrire un programme en C qui prendrait deux paramètres (S, n) et retournerait une suite de n nombres entiers dont la somme serait égale à S.
Merci de bien vouloir m'aider
J'ai en idée d'écrire un programme en C qui prendrait deux paramètres (S, n) et retournerait une suite de n nombres entiers dont la somme serait égale à S.
Merci de bien vouloir m'aider
Réponses
-
Sans plus de précision, on peut créer un algorithme trivial qui retourne la liste $[S, 0, 0, \dots, 0]$ de taille $n$.
-
Plus compliqué mais aussi arbitraire :
- on vérifie que $n\ge1$ ;
- on tire $n-1$ nombres au hasard, disons $x_1,\dots,x_{n-1}$ ;
- on calcule $x_n=S-x_1-\cdots-x_{n-1}$ ;
- on renvoie $(x_1,\dots,x_{n-1},x_n)$.
-
Poirot écrivait : http://www.les-mathematiques.net/phorum/read.php?15,1678790,1678794#msg-1678794
[Inutile de recopier l'avant dernier message. Un lien suffit. AD]
Merci Poirot pour ta réponse.
ha oui ! pas faux lol et c'est bien vu. mais voyons on peut faire mieux bien entendu :-D -
Zut on s'est croisé...
Math Coss écrivait : http://www.les-mathematiques.net/phorum/read.php?15,1678790,1678802#msg-1678802
[Inutile de recopier l'avant dernier message. Un lien suffit. AD]
C'est une bonne analyse. une boucle sur ce traitement permettrait de sortir des numéros à chaque tour... -
A $n=1$,
- on tire un nombre au hasard, disons $x_1$ ;
- on calcule $S_2=S_1-x_1$ ;
- on renvoie $x_1$.
A $n=2$,- on tire un nombre au hasard, disons $x_2$ ;
- on calcule $S_3=S_2-x_2$ ;
- on renvoie $x_2$.
et ainsi de suite pour trouver tous les autres nombres
...
A $n=n$,- on tire un nombre au hasard, disons $x_n$ ;
- on calcule $S_{n+1}=S_{n}-x_{n}=0$ ;
- on renvoie $x_{n}$.
-
L'intérêt de cette fonction étant de remplir convenablement un rectangle magique.
Une analogie avec une matrice à ($k$ lignes, $n$ Colonnes) dont la somme des nombres de chaque ligne $k$ donnerait le nombre $S_k$ situé à la même position dans la matrice d'arrivée. (voir ci-après)
$$
\begin{bmatrix}
x_{11} & x_{12} & ... & x_{1n} \\
x_{21} & x_{22} & ... & x_{2n} \\
x_{31} & x_{32} & ... & x_{3n} \\
... & ... & ... & ...\\
... & ... & ... & ...\\
x_{k1} & x_{k2} & ... & x_{kn}
\end{bmatrix}
=>
\begin{bmatrix}
S_1 \\
S_2 \\
S_3 \\
...\\
...\\
S_k
\end{bmatrix}
$$
avec pour restriction
-pour tout entier $k$, $S_k$ est unique;
-pour tout entier $n$, le $n$-plet d'entiers que forme la ligne $k$ est unique aussi.
Connectez-vous ou Inscrivez-vous pour répondre.
Bonjour!
Catégories
- 163.1K Toutes les catégories
- 8 Collège/Lycée
- 21.9K Algèbre
- 37.1K Analyse
- 6.2K Arithmétique
- 53 Catégories et structures
- 1K Combinatoire et Graphes
- 11 Sciences des données
- 5K Concours et Examens
- 11 CultureMath
- 47 Enseignement à distance
- 2.9K Fondements et Logique
- 10.3K Géométrie
- 62 Géométrie différentielle
- 1.1K Histoire des Mathématiques
- 68 Informatique théorique
- 3.8K LaTeX
- 39K Les-mathématiques
- 3.5K Livres, articles, revues, (...)
- 2.7K Logiciels pour les mathématiques
- 24 Mathématiques et finance
- 312 Mathématiques et Physique
- 4.9K Mathématiques et Société
- 3.3K Pédagogie, enseignement, orientation
- 10K Probabilités, théorie de la mesure
- 772 Shtam
- 4.2K Statistiques
- 3.7K Topologie
- 1.4K Vie du Forum et de ses membres