Załóżmy, że jest podana liczba, którą powinniśmy sprawdzić, jeśli jest ona wynikiem czterech kolejnych liczb?Znajdź cztery kolejne liczby, które sumują się pod podanym numerem
Więc jeśli y
jest naszą podaną liczbą, powinniśmy przetestować, czy y = x(x+1)(x+2)(x+3)
dla dowolnego arbitrażowego x
?
Jak zaprojektować algorytm dla tego problemu?
Zrobiłem to tak:
import java.util.*;
public class Product
{
public static int product(int i)
{
return i * (i+1) * (i+2) * (i+3);
}
public static void main(String[] args)
{
Scanner scnr = new Scanner(System.in);
int x = scnr.nextInt();
for (int i = 0; i < x/2; i++)
{
if (product(i) == x)
{
System.out.println("number is product of 4 consecutive numbers");
break;
}
}
}
}
Rozwiąż dla 'x'? Czy istnieje witryna dividebyzero.com w rodzinie stron SO? – jball
Czy chodzi ci o rozwiązania całkowite, tj. Zarówno y, jak i x są liczbami całkowitymi, lub po prostu ogólne rozwiązanie dla dowolnego (rzeczywistego) x, y? –
@jball - tam [może być jeden] (http://area51.stackexchange.com/proposals/3355/mathematics) wkrótce =) –