【发布时间】:2014-11-07 14:11:13
【问题描述】:
我如何即兴发挥下面的代码从索引也是素数的数组中找到素数。 这是我的基本代码:
#include <stdio.h>
main() {
int n, i, c = 0;
printf("Enter any number n:");
scanf("%d", &n);
/*logic*/
for (i = 1; i <= n; i++) {
if (n % i == 0) {
c++;
}
}
if (c == 2) {
printf("n is a Prime number");
}
else {
printf("n is not a Prime number");
}
return 0;
}
【问题讨论】:
-
首先不清楚你在问什么。其次,您可以对
for循环进行大量优化:以i = 2开始,以i<n结束,如果您的模匹配则它不是质数,否则它是。 -
我不认为它不清楚。请读两遍
-
不清楚。您的帖子甚至不包含问题,仅包含标题。您提供的代码不一定与您的问题标题要求的内容有关(除了与质数有关)。你想达到什么目标?
-
IMO:这个问题应该在代码审查中而不是在这里,因为它要求我们审查代码,而不是问我们代码有什么问题它不起作用。
-
看来问题是:给定
a[]和i,for (i=2; !IsPrime(a[i]; ) { while (!IsPrime(++i)); } printf("%u", a[i]);,剩下的就是写IsPrime(unsigned x)。