gpt4 book ai didi

c - 找到两个数字之间的质数...为什么我的代码不起作用?

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

生成两个给定数字之间的所有质数。

输入

输入以一行中的测试用例数t开始(t <= 10)。在接下来的每条t行中,有两个数字m和n(1 <= m <= n <= 1000000000,n-m <= 100000)用空格隔开。

输出值

对于每个测试用例,请打印所有素数p,以使m <= p <= n,每行一个数字,测试用例用空行分隔。

Input:
2
1 10
3 5

Output:
2
3
5
7

3
5


#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MAX_SIZE 1000000000

int prime(int n){
int j;
for (j=2;j<=n/2;j++)
if((n%j)==0)
return 0;
return 1;
}
int main(){
int i,p;
int m,l;
scanf("%d %d\n",&m,&l);

for (i=m;i<=l;i++){
p=prime(i);
if(p==1){
printf("%d \n",i);
}
}

return 0;
}

最佳答案

为什么我的代码不起作用?


输入不循环

第一个输入是2,指示2个子测试。 OP的代码不读取它来执行循环

不需要的'\n'

"\n"中的scanf("%d %d\n",&m,&l);阻止函数返回,直到在输入后检测到非空白为止。

prime()失败

prime(1)错误地返回1。

关于c - 找到两个数字之间的质数...为什么我的代码不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54115990/

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