Gicu, fiind plictisit se juca in timpul orei de matematica. Din pacate, profesorul l-a vazut si i-a spus ca ii pune nota 4 daca nu rezolva urmatoarea problema: se citesc doua numere naturale n si c. Sa se determine numerele întregi mai mici sau egale cu n au cifra de control c.
Calculaţi cifra de control a unui număr întreg efectuând suma cifrelor sale, apoi suma cifrelor acestei sume etc. până se obţine o sumă formată dintr-o singură cifră.
Exemple:
567 -> 18 -> 9
181 -> 10 -> 1
141 -> 6
Date de intrare
Fisierul de intrare cifra.in contine doua numere naturale n si c cu semnificatia din enunt.
Date de ieşire
Fisierul de iesire cifra.out va contine o singura linie pe care vor fi scrise numerele mai mici sau egale cu n care au cifra de control c.
Restricţii
1 ≤ n ≤ 10000000
1 ≤ c ≤ 9
Exemplu
cifra.in cifra.out
31 3
3 12 21 30
Răspunsuri la întrebare
Răspuns de
1
Răspuns:
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("cifra.in");
ofstream g("cifra.out");
int cifcontrol(int m)
{
int a, sc;
while (m>9) {
a=m; sc=a%10; a/=10;
while (a) {
sc+=a%10;
a/=10;
}
m=sc;
}
return m;
}
int main()
{
int n, c;
f >> n >> c;
for (int i=1; i<=n; i++) {
if (cifcontrol(i)==c) {
g << i << " ";
}
}
return 0;
}
Explicație:
Alte întrebări interesante
Istorie,
8 ani în urmă
Limba română,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă