Informatică, întrebare adresată de danamocanu71, 8 ani în urmă

Fie N un numar natural nenul si N numere naturale nenule x1,x2,...,xN.
Fie P produsul acestor N numere,P=x1*x2*...*xN.
Scrieti un program care sa citeasca numerele N,x1,x2,...,xN si apoi sa determine:
a. cifra zecilor produsului P;
b. cel mai mic numar natural Y,pentru care exista numarul natural K astfel incat Y^K=P.(C++)

Răspunsuri la întrebare

Răspuns de Rayzen
4
#include<iostream>
#include<math.h>

using namespace std;

int main()
{
    int N;
    double xI,P=1;
    cin>>N;
    for(int I=1;I<=N;I++)
    {
        cin>>xI;
        P = P*xI;
    }
    cout<<"Raspunsul la punctul a) este: "<<(int(P)/10)%10<<endl<<endl;

    if(P == 1) {cout<<"Raspunsul la punctul b) este: "<<1<<endl; return 0;}

    for(double Y=2; ;Y++)
    {
        for(double K=1; ;K++)
        {
            if(int(pow(Y,K)) == int(P))
            {
                cout<<"Raspunsul la punctul b) este: "<<Y<<endl;
                return 0;
            }
            if(int(pow(Y,K))> int(P))
            {
                break;
            }
        }
        if(Y*Y > P)
        {
            cout<<"Nu exista un K pentru care Y^K = P\n"<<endl;
            break;
        }
    }
}
Alte întrebări interesante