{
int num, sum, factor;
printf(“\nСовершенные числа от %d до %d:\n”, MIN, MAX);
for (num = MIN; num <= MAX; num += 2)
{
sum = 1;
for (factor = 2; factor < num; factor++)
{
if (num % factor == 0)
sum += factor;
}
if (sum == num)
printf(“\n%d”, num);
}
return 0;
}
Эта программа осуществляет поиск всех совершенных чисел от 6 до 10000.
Для досрочного прекращения выполнения цикла и выхода из него используется оператор прерывания break:
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define MIN 2
#define MAX 10000
Int main()
{
for (int n = MIN; n <= MAX; n++)
{
for (int i = MIN; i < n; i++)
{
if (n % i == 0)
break;
}
if (i == n)
printf(“\n%d”, n);
}
return 0;
}
Эта программа осуществляет поиск всех простых чисел от 2 до 1000.
Во вложенных циклах команда break прекращает выполнение только того цикла, в котором стоит.
Для пропуска одной итерации цикла (перехода к следующей итерации) используется команда продолжения continue:
#include <stdio.h>
#include <conio.h>
#include <math.h>
#define MIN 3
#define MAX 100
Int main()
{
for (int number = MIN; number <= MAX; number++)
{
if (number % 3 == 0)
continue;
printf(“\n%d”, number);
}
return 0;
}
Эта программа осуществляет поиск всех чисел, кратныхтрем, от 3 до 100.
Примеры
1. Вычислить Sn – сумму n первых натуральных чисел
Алгоритм
Sn = 0
Для i от 1 до n выполнять
Sn = Sn + i
Программа
#include <stdio.h>
#include <conio.h>
#include <math.h>