gpt4 book ai didi

c - 在 C 中找到 x 的下一个素数

转载 作者:行者123 更新时间:2023-11-30 15:26:45 26 4
gpt4 key购买 nike

#include <stdio.h>
#include <math.h>

int is_prime(int num);
int next_pr(int num);

int main()
{
int num;
scanf("%d", &num);
printf("%d\n", next_pr(num));

return 0;
}

int next_pr(int num)
{
int c;
if (num == 2)
c = 3;
else
{
num += 2;
is_prime(num) ? next_pr(num) : c = num;
}

return c;
}

int is_prime(int num)
{
int i;
int c = 0;
// printf ("%f\n", sqrt (num));
for (i = 2; i <= sqrt(num); ++i)
{
if (num % i == 0)
// printf ("%d\n",num%i);
c++;
}
return c;
}

最佳答案

int next_pr(int num){
int c;
if(num < 2)
c = 2;
else if (num == 2)
c = 3;
else if(num & 1){
num += 2;
c = is_prime(num) ? num : next_pr(num);
} else
c = next_pr(num-1);

return c;
}

int is_prime(int num){
if((num & 1)==0)
return num == 2;
else {
int i, limit = sqrt(num);
for (i = 3; i <= limit; i+=2){
if (num % i == 0)
return 0;
}
}
return 1;
}

关于c - 在 C 中找到 x 的下一个素数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27303306/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com