Гипотеза Гольдбаха - C (СИ)
Формулировка задачи:
Задача:Дано четное число N>2. Проверить для этого числа гипотезу Гольдбаха. Эта гипотеза(по сегодняшний день не опровергнутая и полностью недоказанная) заключается в том, что каждое четное N>=2 представляется в виде суммы двух простых чисел.( Определить процедуру распознавания простых чисел.)
Вроде процедуру написала, а вот дальше не могу понять что делать. Помогите пожалуйста.
#include <stdio.h> #include <conio.h> #include <mem.h> void proverka(int n, int d, int r, { d = 2; do { r = n % d; if (r != 0) d++ ; } while ( r != 0 ); if (d == n) n=1; else n=0; printf("%d", n); } int main () { printf("Vvod chisla "); scanf("%i", &n); //вот дальше не знаю как }
Решение задачи: «Гипотеза Гольдбаха»
textual
Листинг программы
int proverka(int n) { int d; for(d=2; d*d <= n; d++ ) if (n%d) return 0; return 1; }
Объяснение кода листинга программы
В данном коде реализована функция с именем proverka
, которая принимает целочисленный аргумент n
.
- Сначала в функции объявляется переменная
d
со значением 2. - Затем в цикле
for
перебираются все числа от 2 до квадратного корня изn
. - Для каждого числа
d
выполняется проверка на простоту числаn
с помощью оператора%
. Если числоn
делится наd
без остатка, то функция возвращает 0, так как числоn
не является простым. - Если для всех чисел от 2 до квадратного корня из
n
выполняется условие проверки, то функция возвращает 1, так как числоn
является простым. Таким образом, функцияproverka
проверяет числоn
на простоту.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д