Найти все целые числа в диапазоне от 200 до 500, у которых ровно 6 делителей - C (СИ)
Формулировка задачи:
Найти все целые числа в диапазоне от 200 до 500, у которых ровно 6 делителей.
Программа выдает неверные значения:
Кто знает, в чем проблема? Помогите, пожалуйста.
#include <iostream.h>
#include <conio.h>
int main ()
{
int s , i , k;
for ( i = 200; i <= 500; i++ )
{
k = 0;
for ( s = 1; s == i; s++ )
{
if ( i % s == 0 )
k++;
if ( k == 6 )
cout << i;
}
}
getch ();
return 0;
}Решение задачи: «Найти все целые числа в диапазоне от 200 до 500, у которых ровно 6 делителей»
textual
Листинг программы
k = 0; for ( s = 1; s <= i; s++ ) if ((i % s) == 0 )k++; if ( k == 6 ) // Это уже после выхода из цикла cout << i;
Объяснение кода листинга программы
В данном коде:
- Инициализируется переменная
kсо значением 0. - Задаётся начальное значение переменной
sравное 1. - Задаётся конечное значение переменной
sравноеi. - Условие цикла
forзадаётся так, что цикл будет выполняться, пока значение переменнойsменьше или равноi. - Внутри цикла проверяется, делится ли
iнаsбез остатка. Если да, то значение переменнойkувеличивается на 1. - После цикла проверяется, равно ли значение переменной
k6. Если да, то выводится значение переменнойi. В итоге, код будет выводить все целые числа в диапазоне от 200 до 500, у которых ровно 6 делителей.