👤

pb 1,2,3 (perm.=permutari)
20 de puncte+coroana+ma abonez la primul care o face!


Pb 123 Permpermutari20 De Punctecoroanama Abonez La Primul Care O Face class=

Răspuns :

Problema 1:
#include <iostream>
using namespace std;
int main()
{
    int n; cin >> n;
    int S = 0, p=1, nrcif=0;
    while(n)
    {
        S += n%10;
        n /= 10;
    }
    int t=S;
    while(t)
    {
        p *= 10;
        nrcif ++;
        t /= 10;
    }
    cout << S << "\n";
    for (int i=0; i<nrcif-1; i++)
    {
        S = (S%10)*(p/10)+S/10;
        cout << S << "\n";
    }
    return 0;
}

Problema 2:
#include <iostream>
using namespace std;
int main()
{
    int n; cin >> n;
    int P = 1, p=1, nrcif=0;
    while(n)
    {
        P *= n%10;
        n /= 10;
    }
    cout << P << "\n";
    int t=P;
    while(t)
    {
        p *= 10;
        nrcif ++;
        t /= 10;
    }
    for (int i=0; i<nrcif-1; i++)
    {
        P = (P%(p/10))*10+P/(p/10);
        cout << P << "\n";
    }
    return 0;
}

Problema 3 (daca am inteles corect enuntul):
#include <iostream>
using namespace std;
int main()
{
    int n; cin >> n;
    int P = 1;
    while(n)
    {
        if (n%10%2==0) P *= n%10;
        n /= 10;
    }
    cout << "Prefixele lui " << P << ":\n";
    while(P>9)
    {
        P/=10;
        cout << P << "\n";
    }
    return 0;
}