我正在解决this问题:
彼得想为他的密码系统生成一些素数。救命 他!你的任务是生成两个给定的所有素数 数字!
输入
输入以单行中的测试用例数t开头 (T< = 10)。在接下来的每一行中,有两个数字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>
int main()
{
int t, i, m[10], n[10], j, k, l, isPrime;
// t is test case, m[] and n[] are the lower and upper value of the range of prime numbers
// isPrime is to check the condition True or False.
j = 0;
scanf(" %d \n", &t);
for(i=0; i<t; i++)
{
scanf("%d%d",&m[i],&n[i]);
}
while(j<=i)
{
for(k = m[j]; k<= n[j]; k++)
{ isPrime = 0;
for(l = 2; l<= (k/2); l++){
if(k%l == 0)
{
isPrime = 1;
break;
}
}
if(isPrime==0 && n[j]!= 1)
printf(" %d \n", k);
}
j++;
}
getch();
return 0;
}
答案 0 :(得分:0)
您正在使用getch(),它将停止程序,直到您在执行完所有程序后立即按任意键。删除getch(),关闭IDE后,从源文件夹文件中编译并运行.exe。
答案 1 :(得分:0)
好吧,我执行了代码,没有getch(),它运行正常!