我想编写一些代码,它采用任何正数、偶数(大于 2)并给我求和到这个数字的最小素数对。我需要这个程序来处理任何长达 9 位的整数。
我的目标是制作如下所示的东西:
Please enter a positive even integer ( greater than 2 ) : 10 The first primes adding : 3+7=10. Please enter a positive even integer ( greater than 2 ) : 160 The first primes adding : 3+157=160. Please enter a positive even integer ( greater than 2 ) : 18456 The first primes adding : 5+18451=18456.
除了stdio.h,我不想使用任何库。除了最基本的工具箱之外,我不想使用数组、字符串或其他任何东西:scanf、printf、for、while、do-while、if、else if、break、continue 和基本运算符(<、>、 ==、=+、!=、%、*、/ 等...)。请不要使用其他功能,尤其是 is_prime。
我知道如何将输入限制为我的需要,以便它循环直到给出有效条目。
所以现在我正在尝试找出算法。
我想像这样开始一个while循环:
#include <stdio.h>
long first, second, sum, goldbach, min;
long a,b,i,k; //indices
int main (){
while (1){
printf("Please enter a positive integer :\n");
scanf("%ld",&goldbach);
if ((goldbach>2)&&((goldbach%2)==0)) break;
else printf("Wrong input, ");
}
while (sum!=goldbach){
for (a=3;a<goldbach;a=(a+2))
for (i=2;(goldbach-a)%i;i++)
first = a;
for (b=5;b<goldbach;b=(b+2))
for (k=2;(goldbach-b)%k;k++)
sum = first + second;
}
}