Să se scrie o funcţie care primeşte ca argumente două numere naturale a şi b şi returnează numărul de elemente din intervalul [a,b] care au cifra de control egală cu a.
Cifra de control a unui număr se obţine efectuând suma cifrelor sale, apoi suma cifrelor acestei sume etc. până se obţine o sumă formată dintr-o singură cifră. De exemplu, cifra de control a numărului 645 este 6. (6+4+5=15, 1+5=6)
Restricţii şi precizări
•numele funcţiei va fi sum_cifra_control
•funcţia va avea doi parametri, a şi b, în această ordine
•1 ≤ a ≤ 9
•a < b ≤ 10^7
Exemplu
sum_cifra_control(2, 100) = 11
Important
Soluţia propusă va conţine doar definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.
NEAPARAT C++
Razzvy:
Cifra de control a unui numar se poate afla cu restul impartirii la 9 al acelui numar
{int s, i, c=0, p, j;
for(i=a; i<=b; i++)
{
j=i;
while(j>9)
{
s=0;
while(j)
{
p=j%10;
s=s+p;
j=j/10;
}
j=s;
}if(j==a)
c++;
}
return c;
}
Răspunsuri la întrebare
Răspuns de
14
Ai solutia in atasament. Acolo este tot programul.
Dupa ce intelegi solutia aia, te poti uita pe asta :)
int sum_cifra_control(int a, int b) { return (b + 9 - a) / 9;}
Dupa ce intelegi solutia aia, te poti uita pe asta :)
int sum_cifra_control(int a, int b) { return (b + 9 - a) / 9;}
Anexe:
Alte întrebări interesante
Matematică,
8 ani în urmă
Ed. tehnologică,
8 ani în urmă
Matematică,
9 ani în urmă
Engleza,
9 ani în urmă
Limba română,
9 ani în urmă
Franceza,
9 ani în urmă