24.2.3.24010740. Za neki broj kažemo da je savršen ukoliko je jednak sumi svih svojih djelilaca. Na primjer, 28 je savršen broj: njegovi djelioci su 1, 2, 4, 7 i 14, a 1 + 2 + 4 + 7 + 14 = 28. Napisati program koji traži da se sa tastature unese cijeli brojevi a i b, a koji zatim ispisuje sve savršene brojeve u opsegu od a do b. Kao provjeru ispravnosti programa možete koristiti činjenicu da su jedini savršeni brojevi u opsegu od 1 do 100 brojevi 6 i 28.
Opis rješenja:
Listing programa:
package zadatak;
import java.util.Scanner;
public class zadatak74 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Unesi brojeve a i b");
int a = input.nextInt();
int b = input.nextInt();
while (b < a) {
System.out.print("b mora biti vece od a!");
a = input.nextInt();
b = input.nextInt();
}
int s = 1;
boolean t = true;
for (int i = a + 1; i < b; i++) {
s = 1;
for (int j = 2; j < i; j++)
if (i % j == 0)
s = s + j;
if (s == i) {
System.out.print(i + " ");
t = false;
}
}
System.out.println();
if (t)
System.out.println("Nema prostih brojeva.");
}
}
Ispis na ekranu:
Riješeni zadaci 2 Index
|
|