package labolatorium3;
import java.util.*;
public class Zad8 {
public static void main(String args[])
{
Scanner cos = new Scanner(System.in);
double n;
System.out.println("Podaj liczbe n: ");
n = cos.nextDouble();
System.out.println("Suma to: "+suma(n));
}
public static double suma(double n)
{
double m;
double x=0;
for(double i=1; i<=n; i++)
{
m=n-i;
x=x+(power(2,i) /power(i,n-i));
}
return x;
}
public static double power(double a, double n)
{
double m=n;
double x=a;
while(n!=1)
{
x=x*a;
n--;
}
if (m==0)
x=1;
return x;
}
}
0
0
rozwiązałem zadanie trochę innym sposobem, także to już nic pilnego. z nieznanych mi przyczyn napisanie power (m,n-i) wpędza program w nieskończone wykonywanie się bez podania wyniku. za to napisanie x=n-i; power (m,x) już jest ok.
0
jak to mimo braku bledow :D warunek while(n!=1)
jest skopany, bo przekazujesz 0 jako n...
1
Fakt kompilacji kodu nie czyni go jeszcze poprawnym :)
1
Błędy składniowe != błędy logiczne.
n
jest typu double
a ty dajesz:
while(n!=1)
{
...
n--;
}
Dla każdego niecałkowitego n
a także dla n<1
masz nieskończoną pętlę.