Cau mam takovy mensi problem:
class Pi{
static double vypocet(){
double pi = 0;
double presnost = 0.1,podm;
double i = 1,znamenko = 1.0;
while(i<10000000){
podm = (4.0/i);
pi= pi + (znamenko*podm);
i = i +2;
znamenko *= -1.0;
}
return pi;
}
public static void main(String[] args){
System.out.println(Pi.vypocet());
}
}
tohle mi funguje naprosto v pořádku. Výpočet proběhne v zlomku sekundy.
Ale tohle:
class Pi{
static double vypocet(){
double pi = 0;
double presnost = 0.1,podm;
double i = 1,znamenko = 1.0;
while((4/i)>presnost){
podm = (4.0/i);
pi= pi + (znamenko*podm);
i = i +2;
znamenko *= -1.0;
}
return pi;
}
public static void main(String[] args){
System.out.println(Pi.vypocet());
}
}
Tato verze odpovídá zadání úkolu. Výpočet této verze však trvá zhruba 40s. Nemáte někdo tušení čím by to mohlo být?