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
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;
}
}
}
#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
Biologie,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
9 ani în urmă
Geografie,
9 ani în urmă
Engleza,
9 ani în urmă