Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- // determina cea mai mare cifra a numarului x
- unsigned int cifra_maxima(unsigned int x) {
- unsigned int max_cif = 0;
- while(x) {
- max_cif = (x%10 > max_cif ? x%10 : max_cif);
- x /= 10;
- }
- return max_cif;
- }
- // determina cmmdc dintre a si b
- unsigned int cmmdc(unsigned int a, unsigned int b) {
- if(a*b == 0) {
- return a+b;
- }
- return cmmdc(b, a%b);
- }
- int main() {
- unsigned int n;
- unsigned int a[101];
- // citesc datele de intrare
- cin >> n;
- for(int i = 0; i < n; ++i) {
- cin >> a[i];
- }
- // afisez cifra maxima a fiecarui numar
- for(int i = 0; i < n; ++i) {
- cout << cifra_maxima(a[i]) << " ";
- }
- cout << "\n";
- // calculez cmmdc a tuturor elementelor din vector
- unsigned int div_com = a[0];
- for(int i = 1; i < n; ++i) {
- div_com = cmmdc(div_com, a[i]);
- }
- cout << div_com;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement