特定数量的整数
specific number of integers
我的要求是打印 x 个素数。所以我的代码首先要求用户输入一个数字,例如7,我要它产生7个质数。
我现在已经编码到生成所有小于 50 的素数的步骤。但是我如何以我只希望它输出的方式编码它,在这种情况下,7 个素数?
我搜了一下,但是看不懂别人的代码。如果您可以编辑我的代码并指导我进行解释,我将不胜感激。谢谢
#include <stdio.h>
int main(void)
{
int x,y,z;
printf("Input a number: ");
scanf("%d", &x);
for (z=2; z<=50; z++)
{
for (y=2; y<=z; y++)
{
if (z%y==0)
break;
}
if (z==y)
printf("%d\n", z);
}
}
添加一个“质数计数器”
#include <stdio.h>
int main(void)
{
int x,y,z;
int primes = 0; // no primes found so far
printf("Input a number: ");
scanf("%d", &x);
for (z=2; z<=50; z++)
{
for (y=2; y<=z; y++)
{
if (z%y==0)
break;
}
if (z==y) {
printf("%d\n", z);
primes += 1; // found a prime
}
if (primes == x) break; // stop z loop after x primes
}
}
我的要求是打印 x 个素数。所以我的代码首先要求用户输入一个数字,例如7,我要它产生7个质数。
我现在已经编码到生成所有小于 50 的素数的步骤。但是我如何以我只希望它输出的方式编码它,在这种情况下,7 个素数?
我搜了一下,但是看不懂别人的代码。如果您可以编辑我的代码并指导我进行解释,我将不胜感激。谢谢
#include <stdio.h>
int main(void)
{
int x,y,z;
printf("Input a number: ");
scanf("%d", &x);
for (z=2; z<=50; z++)
{
for (y=2; y<=z; y++)
{
if (z%y==0)
break;
}
if (z==y)
printf("%d\n", z);
}
}
添加一个“质数计数器”
#include <stdio.h>
int main(void)
{
int x,y,z;
int primes = 0; // no primes found so far
printf("Input a number: ");
scanf("%d", &x);
for (z=2; z<=50; z++)
{
for (y=2; y<=z; y++)
{
if (z%y==0)
break;
}
if (z==y) {
printf("%d\n", z);
primes += 1; // found a prime
}
if (primes == x) break; // stop z loop after x primes
}
}