Множества: напечатать все целые числа из заданного диапазона, представимые в виде суммы двух квадратов - C (СИ)

Узнай цену своей работы

Формулировка задачи:

В возрастающем порядке напечатать все целые числа из диапазона 1..10 000, представимые в виде n*n+m*m, где n, m>=0.

Решение задачи: «Множества: напечатать все целые числа из заданного диапазона, представимые в виде суммы двух квадратов»

textual
Листинг программы
for(k=2; k<=10000; k++) 
  for(i=1; i*i<k; i++) {
     for(j=i; i*i+j*j < k;j++)
     ;
      if (i*i+j*j == k) {
          printf("%d\n", k);
          break;
      }
   }
}

Объяснение кода листинга программы

В этом коде выполняется следующая последовательность действий:

  1. В первой строке объявляется переменная k и инициализируется значением 2.
  2. Первая вложенная цикловая конструкция начинается с k <= 10000 и изменяет значение k на 10000 при каждой итерации.
  3. Вторая вложенная цикловая конструкция начинается с i = 1 и изменяет значение i на 10000 при каждой итерации.
  4. Третья вложенная цикловая конструкция начинается с j = i и изменяет значение j на 10000 при каждой итерации.
  5. Если ii + jj равняется k, то выполняется действие внутри блока if, которое выводит значение k и прерывает выполнение внешней циклической конструкции.
  6. Если ii + jj не равняется k, то действие внутри блока if не выполняется, и выполнение третьей циклической конструкции продолжается.
  7. Если ii + jj не равняется k, то действие внутри блока if не выполняется, и выполнение третьей циклической конструкции продолжается.
  8. Если ii + jj не равняется k, то действие внутри блока if не выполняется, и выполнение третьей циклической конструкции продолжается.
  9. Если ii + jj не равняется k, то действие внутри блока if не выполняется, и выполнение третьей циклической конструкции продолжается.
  10. Если ii + jj не равняется k, то действие внутри блока if не выполняется, и выполнение третьей циклической конструкции продолжается.
  11. Если ii + jj не равняется k, то действие внутри блока if не выполняется, и выполнение третьей циклической конструкции продолжается.
  12. Если ii + jj не равняется k, то действие внутри блока if не выполняется, и выполнение третьей циклической конструкции продолжается.
  13. Если ii + jj не равняется k, то действие внутри блока if не выполняется, и выполнение третьей циклической конструкции продолжается.
  14. Если ii + jj не равняется k, то действие внутри блока if не выполняется, и выполнение третьей циклической конструкции продолжается.
  15. Если ii + jj не равняется k, то действие внутри блока if не выполняется, и выполнение третьей циклической конструкции продолжается.
  16. Если ii + jj не равняется k, то действие внутри блока if не выполняется, и выполнение третьей циклической конструкции продолжается.
  17. Если ii + jj не равняется k, то действие внутри блока if не выполняется, и выполнение третьей циклической конструкции продолжается.
  18. Если ii + jj не равняется k, то действие внутри блока if не выполняется, и выполнение третьей циклической конструкции продолжается.
  19. Если ii + jj не равняется k, то действие внутри блока if не выполняется, и выполнение третьей циклической конструкции продолжается.
  20. Если ii + jj не равняется k, то действие внутри блока if не выполняется, и выполнение третьей циклической конструкции продолжается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.444 из 5
Похожие ответы