500以内c程序怎么写

时间:2025-01-30 02:45:15 单机游戏

```c

include

include

include

bool IsPrime(int x) {

if (x <= 1) return false;

if (x <= 3) return true;

if (x % 2 == 0 || x % 3 == 0) return false;

for (int i = 5; i * i <= x; i += 6) {

if (x % i == 0 || x % (i + 2) == 0) return false;

}

return true;

}

int main() {

int a = 0;

printf("请输入一个整数:");

scanf("%d", &a);

for (int i = 3; i <= a; i++) {

if (IsPrime(i)) {

printf("%d\n", i);

}

}

return 0;

}

```

这个程序首先定义了一个`IsPrime`函数,用于判断一个数是否为素数。然后在`main`函数中,程序提示用户输入一个整数,并打印出从3到该整数之间的所有素数。

如果你需要编写其他类型的程序,例如查找500以内的所有完数、勾股数或输出特定范围内的素数等,可以根据具体需求修改代码。以下是一些示例:

查找500以内的所有完数

```c

include

define MAX 500

int main() {

int x = 2;

for (; x <= MAX; x++) {

int sum = 0;

int k = 0;

for (int i = 1; i < x; i++) {

if (x % i == 0) {

sum += i;

k++;

if (k > 1) {

printf("%d, ", a[k - 1]);

}

}

}

if (sum == x) {

printf("%d是一个完数,它的因子是", x);

for (int t = 0; t < k; t++) {

if (t < k - 1) {

printf("%d, ", a[t]);

} else {

printf("%d。", a[t]);

}

}

printf("\n");

}

}

return 0;

}

```

输出500以内的所有素数

```c

include

include

include

bool IsPrime(int x) {

if (x <= 1) return false;

if (x <= 3) return true;

if (x % 2 == 0 || x % 3 == 0) return false;

for (int i = 5; i * i <= x; i += 6) {

if (x % i == 0 || x % (i + 2) == 0) return false;

}

return true;

}

int main() {

int a = 0;

printf("请输入一个整数:");

scanf("%d", &a);

for (int i = 3; i <= a; i++) {

if (IsPrime(i)) {

printf("%d\n", i);

}

}

return 0;

}

```

输出500以内的所有勾股数