Код должен найти все идеальные числа в приделах тысячи и вывести свои собственные делители.
При запуске кода:
public class Main {
public static void main(String[] args) {
for(int num = 2;num <= 1000;num++) {
if(perfect(num)) {
System.out.println(num + " is perfect:");
System.out.print("Factors: ");
for(int i = 1;i < num;i++) {
if (num % i == 0) {
System.out.print(i + " ");
}
}
}
}
}
public static Boolean perfect(int num) {
int sum = 0;
for(int i = 1;i<num;i++) {
if (num % i == 0) {
sum = sum + i;
}
}
return sum == num;
}
}
Получаем вот что:
6 is perfect:
Factors: 1 2 3 28 is perfect:
Factors: 1 2 4 7 14 496 is perfect:
Factors: 1 2 4 8 16 31 62 124 248
А нужно:
6 is perfect:
Factors: 1 2 3
28 is perfect:
Factors: 1 2 4 7 14
496 is perfect:
Factors: 1 2 4 8 16 31 62 124 248
Екстра Француз
0 уровень
Помогите правильно отформатировать вывод в консоль.
Решен
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Павел
14 января 2021, 09:25решение
for(int i = 1;i < num;i++) {
if (num % i == 0) {
System.out.print(i + " ");
}
}
System.out.println();
+2
Ksenia VolkovaJava Developer в DXCMaster
14 января 2021, 09:19
Добавь вывод переноса строки - System.out.println() - после цикла.
0