Pentru a putea ajunge la concursul de mașini, Fulger Mcqueen, trebuie să termine de asfaltat drumul din Valea Radiator.
La intrarea în Valea Radiator, Bucșă are pregătite N
bidoane, fiecare având înscris pe el câte un număr. Dintre cele N
bidoane doar câteva conțin asfalt.
Bucșă îi spune lui Fulger:
– Fulger, prietene, vreau să te ajut să găsești bidoanele corecte, așa că îți spun că fiecare număr de pe bidon, are asociat un cod secret, codul secret al fiecărui număr se obține prin diferența dintre numărul alcătuit din atâtea cifre de 9
câte are numărul scris pe bidon și numărul de pe bidon. Bidoanele cu asfalt au cifra unităților 0
și cifra zecilor 1
.
Scrieți un program care să determine:
a) Codul secret asociat fiecărui număr de pe bidon;
Exemplu
fulger.in
5 2138 531649 154289 798 96489
fulger.out
7861 468350 845710 201 3510 2
Explicație
Bucșă a pregătit pentru Fulger 5 bidoane.
Cerința a)
Primul bidon are codul secret 7861
, deoarece 9999 – 2138 = 7861
Al doilea are codul secret 468350
, deoarece 999999 – 531649 = 468350
Al treilea are codul secret 845710
, deoarece 999999 – 154289 = 845710
Al patrulea are codul secret 201
, deoarece 999 – 798 = 201
Al cincilea are codul secret 3510
, deoarece 99999 – 96489 = 3510
Cerința b)
Numărul de bidoane cu asfalt este 2
.
#include <bits/stdc++.h> using namespace std; ifstream cin("fulger.in"); ofstream cout("fulger.out"); int put9(int n) { int p = 0; while(n != 0) { p = p * 10 + 9; n /= 10; } return p; } int main() { int n , x , cnt = 0; cin >> n; for(int i = 1 ; i <= n ; i++) { cin >> x; cout << put9(x) - x << " "; if((put9(x) - x) % 100 == 10) cnt++; } cout << '\n' << cnt; }