@megamage
Люблю грозу в начале мая!

Почему не Выполняется код?

Нужно чтобы в диапазоне от 4 до 10000 выводил только совершенные числа
public class Main {
	
	
	public static void main(String[] args) {
		
		for(int i = 4; i >= 10000; i++) {

			int result = 0;
			
			for(int x=10000; x <= 4; x--){
				int a = i/x;
				if(a % 1 == 0){// проверяю целое ли число
					if(a!=1){
						result = result + x;
					}else{
						a=0;
					}
				}else{
					a = 0;
				}
			}
			
			System.out.println(result);
			
		}
		
	}

}
  • Вопрос задан
  • 205 просмотров
Решения вопроса 1
0xD34F
@0xD34F
Нужно чтобы в диапазоне от 4 до 10000 выводил только совершенные числа

Что-то вы совсем не то делаете, даже и разбирать не хочется, что именно.

Совершенные числа между 4 и 10000, это вот что:
public class Main {

  public static void main(String[] args) {
    
    for (int i = 4; i <= 10000; i++) {

      int sum = 1;
      
      for (int x = 2; x < i; x++) {
        if (i % x == 0) {
          sum += x;
        }
      }

      if (sum == i) {
        System.out.println(i);
      }
    }
    
  }

}

Как говорится - найдите 10 отличий.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы