Cerința
Se dau două numere naturale S
şi K
. Să se afle cel mai mic număr natural A
care are suma cifrelor egală cu S
, precum şi restul împărţirii lui A
la K
.
Date de intrare
Fișierul de intrare numar9.in
conține pe prima linie numerele naturale S
şi K
.
Date de ieșire
Fișierul de ieșire numar9.out
va conține pe prima linie numărul A
, iar pe a doua linie restul împărţirii lui A
la K
.
Restricții și precizări
1 ≤ S ≤ 20.000.000
1 ≤ K ≤ 1.000.000
- Pentru prima cerinţă se acordă
60p
, iar pentru a doua40p
- Pentru a primi punctajul pentru a doua cerinţă, în fişierul
numar9.out
trebuie să afişaţi două numere
Exemplu
numar9.in
25 13
numar9.out
799 6
Explicație
Cel mai mic număr natural care are suma cifrelor egală cu 25
este 799
. Restul împărţirii lui 799
la 13
este 6
.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Numar9:
#include <fstream>
#define a 999999999
using namespace std;
ifstream f("numar9.in");
ofstream g("numar9.out");
long long s , k , i , r , c , x , m , n ;
int main()
{
f >> s >> k ;
r = s % 9 ;
c = s / 9 ;
m = c / 9 ;
n = c % 9 ;
if ( r != 0 ) g << r ;
x = r % k ;
for ( i = 1 ; i <= n ; i++ )
{
g << 9 ;
x = ( x * 10 + 9 ) % k ;
}
for ( i = 1 ; i <= m ; i++ )
{
g << a ;
x = ( x * 1000000000 + a ) % k ;
}
g << "\n" ;
g << x ;
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #1925 Numar9
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #1925 Numar9 de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!