Semble plus que vous essayez de construire une chaîne de nombres répétitifs que de faire des mathématiques réelles. Pourquoi ne pas faire ce qui suit (C#)?
using System;
using System.Text;
public int CreateInt(int x, int N)
{
StringBuilder createdString = new StringBuilder();
int createdInt;
for (int i = 0; i < N; i++)
createdString.Append(x.ToString());
if (!int.TryParse(createdString.ToString(), out createdInt))
throw new Exception(string.Format("Value x ({0}) repeated N ({1}) times makes {2}. This is not a valid integer.", x, N, createdString));
return createdInt;
}
int createdInt1 = CreateInt(7, 5); // output: 77777
int createdInt2 = CreateInt(14, 4); // output: 14141414
int createdInt3 = CreateInt(1, 20); // output: throws exception "Value x (1) repeated N (20) times makes 11111111111111111111. This is not a valid integer."
Cet exemple montre deux choses que vous voulez regarder pour:
- Le résultat est créé un entier valide quelle que soit la langue que vous programmez en?
- Que se passe-t-il si l'entier à répéter (x) est à deux chiffres ou plus?
Je suppose que les programmeurs ne sont pas familiers avec le concept d'équations;) –
"entier rationnel" est redondant. Tous les entiers sont rationnels. :-) –
Qu'en est-il des valeurs 'x' supérieures à 9? – Svante