Другие языки программирования и технологии

написать программу на языке С++

Пусть n - натуральное число, n>1 Написать программу, которая проверяет, если число n - простое Пояснение (Простое число - число которое делится на себя и на единицу)
MS
Maksat Seidahan
2 010
if ( n % n == 0) printf(" It's natural"); т . к. все числа делятся на 1, проверять смысла нет, но если очень хочется

if (( n % 5 == 0) && (n % 1 == 0))
printf("Natural");
else
printf("Not natural");
RH
Rio Heist
113
Лучший ответ
Rio Heist очепятка не n % 5 а n % n
1. Учи матчасть. Простое число - которое делится ТОЛЬКО на себя и на единицу.
2. В цикле пытаешся поделить на все, кроме 1 и себя:
bool prime=true;
if(n>2)for(int i=2;i < n; i++) if(n%i == 0)prime=false;
cout<< prime?"Простое":"Не простое";
3. Разумная оптимизация: цикл можно гонять не до n-1, а до корня из n (подумай, почему).
>>>все числа делятся на 1
также как и все числа делятся сами на себя окромя нуля.

Условие не совсем ясно. Прога должна выявлять те числа, которые можно разделить только на себя и только на единицу?
Допустим числа 1,3,5,7,11,13,17,19,...делятся только сами на себя и на 1, только в них нет никакой закономерности и выяснить делятся они на другие числа можно только перебором всех чисел меньше самого числа
-----------------------------------------
#include <stdio.h>

main () {

int n;
int i = 2;

while (n <= 1) {
scanf("Введите целое число больше 1 %i", n);
}

while (n % i > 0 && i < n) i++

if (n == i ) printf("Число n - простое")
else printf("Число n - не простое");

getch();

}