Ma fille apprend actuellement les additions à l'école. Elle se trompe parfois lorsqu'elle additionne deux
chiffres.
Etant donné les deux nombres initiaux et le résultat qu'elle a calculé, vous devez vérifier s'il est correct.
Si oui, affichez la chaîne de caractères "ok". Si non, renvoyez l'indice du chiffre sur lequel elle s'est
trompée (converti en chaîne de caractères).
Le chiffre des unités a l'indice "0", le chiffre des dizaines a l'indice "1", etc.
Ma fille n'est pas trop mauvaise, elle se trompe sur un seul chiffre au maximum.
Elle vient juste de commencer à apprendre les additions, il n'y a donc pas de retenue dans aucun chiffre
de tous les nombres qu'elle doit additionner.
Les deux nombres initiaux et le résultat peuvent ne pas avoir le même nombre de chiffres.
public static string Compute(int valOne, int valTwo, int calcResult) {
int resAttend = valOne + valTwo;
string resCalcStr = calcResult.ToString();
string resAttendStr = resAttend.ToString();
int maxLength = Math.Max(resCalcStr.Length, resAttendStr.Length);
for(int i = 0; i< maxLength; i++){
char chiffreCalc = i < resCalcStr.Length ? resCalcStr[resCalcStr.Length -1 -i] : '0';
char chiffreAttend = i < resAttendStr.Length ? resAttendStr[resAttendStr.Length - 1 - i]: '0';
if (chiffreCalc != chiffreAttend){
return i.ToString();
}
}
return "ok";
}
Aucun commentaire:
Enregistrer un commentaire