#include <stdio.h>
int prime(int num);
int main() {
int upper, lower, tempL, x;
printf("Enter lower limit:");
scanf("%d", &lower);
printf("Enter upper limit:");
scanf("%d", &upper);
for (lower; lower <= upper; lower + 2) {
tempL = lower;
for (lower; lower != 0; lower--) {
if (prime(lower) == 0) { //after decrementing we find a prime
x = tempL - (lower); x = the original lower limit minus the current decremented lower limit
if (prime(x) == 0) { //if x if prime do following
printf("%d = %d + %d\n", tempL, lower, x); //print
break;
}
}
}
}
}
int prime(int number) { //returns 0 if number is prime
int i;
for (i = 2; i < number/2; i++) {
if (number % i == 0) {
return 1;
}
}
return 0;
}
Это то, что я до сих пор ... все это делает бесконечно печататьОСУЩЕСТВЛЕНИЮ Гольдбаха в C код
999983 = 999983 + 0
Я действительно застрял здесь. Я пытался получить это в течение последних 8 часов.
Я пытаюсь использовать гипотезу Гольдбаха для печати чисел в виде сумм простых чисел. Когда он печатает номер n, он должен перейти на n + 1, пока не достигнет верхнего предела.
Теперь у меня есть это
#include <stdio.h>
int prime(int num);
int main() {
int upper, lower, tempL, x;
printf("Enter lower limit:");
scanf("%d", &lower);
printf("Enter upper limit:");
scanf("%d", &upper);
for (lower; lower <= upper; lower + 2) {
tempL = lower;
for (tempL; tempL != 0; tempL--) {
if (prime(tempL == 0) { //after decrementing we find a prime
x = lower - (tempL); x = the original lower limit minus the current decremented lower limit
if (prime(x) == 0) { //if x if prime do following
printf("%d = %d + %d\n", tempL, lower, x); //print
break;
}
}
}
}
}
int prime(int number) { //returns 0 if number is prime
int i;
for (i = 2; i < number/2; i++) {
if (number % i == 0) {
return 1;
}
}
return 0;
}
Но я все еще получаю ту же самую проблему
нормально, дайте мне попробовать это – Superman
Ваш 'штриха()' функция будет работать более чем в два раза быстрее с ' s = (целое) SQRT (число); для (i = 3; i <= s; i + = 2) ', отменив« число == 1 »и« число == 2 ». –
Здесь есть несколько проблем. Для одного, пожалуйста, измените цикл «for»: 'for (; lower <= upper; lower + = 2) {...}' – FoggyDay