Исправить код так, чтобы он распечатывал числа в диапазоне от 1 до N - C (СИ)
Формулировка задачи:
Ребята помогите исправить код так, чтобы она распечатывала числа в диапазоне от 1 до N, у которых есть хотя бы один двухзначный делитель (не равный числу). вот сам код
#include<conio.h>
#include<stdio.h>
int main() {
int number, i, j, k;
printf("Enter number: ");
scanf("%d", &number);
for(i<=9; i<=number; i+=9) printf("%d\n", i);
printf("%d\n", i);
printf("\n\n");
j = 1;
while(j <= number) {
for(k = 1; k <= 99; k++)
if(j != k && j % k == 10) {
printf("%d\n", j);
break;
}
j++;
}
getch();
return 0;
}Решение задачи: «Исправить код так, чтобы он распечатывал числа в диапазоне от 1 до N»
textual
Листинг программы
for(k = 10; k <= 99 && k<=j; k++)
if(j != k && j%k==0)
{
printf("%d\n", j);
break;
}
Объяснение кода листинга программы
В данном коде выполняется следующая последовательность действий:
- Выполняется итерация по переменной
kначиная с 10 и до 99 включительно. - Для каждого значения
kпроверяется условиеj != k && j%k==0, гдеj- это также переменная, которая также итерируется от 10 до 99. - Если условие выполняется, то есть
jделится наkбез остатка, то выполняется действие внутри блока if:- Выводится значение
jс помощью функцииprintf(%d\n, j); - Происходит выход из цикла с помощью оператора
break;
- Выводится значение
- Если условие не выполняется, то происходит переход к следующей итерации цикла. Получается, что данный код выводит все числа от 10 до 99, которые делятся на себя без остатка.