﻿/* Felmérő: számjegyek feldolgozása

2 pont hivatalból

Beolvasunk egy n pozitív egész számot a bemenetről. Írjuk ki:

a) a számjegyei összegét;
b) a pozitív páros számjegyeinek szorzatát (1-et ha nincsnek);
c) a tükörképének a háromszorosát;
d) az első és utolsó számjegyét;
e) azt a számot, amit úgy kapunk n-ből, hogy elhagyjuk belőle a 0 számjegyeket;
f) a legnagyobb számjegyét;
g) a két legkisebb számjegyét;
h) azt, hogy igaz-e n-re, hogy minden páratlan számjegye prím.

Használjunk beszédes változóneveket és/vagy megfelelő megjegyzéseket!
A kiírásokat előzze meg rövid üzenet. 
Tetszőleges sorrendben megoldhatók az alpontok.
*/
#include <iostream>
using namespace std;

int main()
{
    int n;
    cin >> n;

    int osszeg = 0;
    int pp_szor = 1;
    int tukorkep = 0;

    int ut_szj = n%10;
    int el_szj;

    int ujszam_e = 0;
    int p = 1;

    int maximum = -1;
    int min1 = 10;
    int min2 = 10;  // min1 <= min2

    int igaz_h = 1;

    while (n > 0) {
        int szj = n % 10;

        // a)
        osszeg += szj;

        // b)
        if (szj > 0 && szj%2 == 0)
            pp_szor *= szj;

        // c)
        tukorkep = tukorkep*10 + szj;

        // d)
        el_szj = szj;

        // e)
        if (szj != 0) {
            ujszam_e += szj * p;
            p = p * 10;
        }

        // f)
        if (szj > maximum)
            maximum = szj;

        // g)
        if (szj < min1) {
            min2 = min1;
            min1 = szj;
        }
        else if (szj < min2)
            min2 = szj;

        // h
        if (szj == 1 || szj == 9)
            igaz_h = 0;

        n = n / 10;
    }

    cout << "szj. osszege " << osszeg << endl;
    cout << "poz. parosak szorzata " << pp_szor << endl; 
    cout << "tukor 3x: " << 3*tukorkep << endl;
    cout << "elso szj: " << el_szj << " utolso szj: " << ut_szj << endl;
    cout << "uj szam: " << ujszam_e << endl;
    cout << "maximum: " << maximum << endl;
    cout << "ket legkisebb: " << min1 << " " << min2 << endl;

    if (igaz_h == 1)
        cout << "igaz a tulajdonsag" << endl;
    else
        cout << "nem igaz a tulajdonsag" << endl;

    return 0;
}
