Kámoš dělá jakousi matematickou olympiádu, četli sme si zadání a narazil sem na zajímavej příklad: Najděte přirozené číslo n pro které platí: druhá odmocnina z 2n je přirozené číslo, třetí odmocnina z 3n je přirozené číslo a pátá odmocnina z 5n je přirozené číslo.
Tohle zadání přímo vybízí k brute-force metodě, tj projíždět všechna čísla od 1 a kontrolovat to. Napsal sem na to program:
#include <iostream>
#include <cmath>
double n,p1,p2,p3,pom;
int main(){
n=1;
do{
p1=pow(2*n,1.0/2.0);
p2=pow(3*n,1.0/3.0);
p3=pow(5*n,1.0/5.0);
n++;
std::cout << n<<std::endl;
}
while(!((modf(p1,&pom)==0.0)&&(modf(p2,&pom)==0.0)&&(modf(p3,&pom)==0.0)));
std::cout << std::endl << n;
std::cin.get();
return 0;
}
ale zas jinej kámoš co to řeší taky tak řikal že výsledek je ve tvaru mocniny ?^20+ (možná kécá), takže tahle metoda asi nepřipadá v úvahu. Napadá vás něco lepšího?