酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

c语言输入若干个大于2的正整数,如果输入的是偶数,则将其分解为两个素数(只需找出第一对 素数)并输出;如果输入的是奇数,则输出“xxx is odd number!";输入为0时程序结束。只有1和它本身这两个因数的自然数叫做素数。

以下是使用 C 语言解决此问题的代码: ```c #include <stdio.h> // 判断一个数是否为素数 int isPrime(int num) { if (num < 2) { return 0; } for (int i = 2; i * i <= num; i++) { if (num % i == 0) { return 0; } } return 1; } int main() { int num; printf("请输入一个大于 2 的正整数(输入 0 结束):"); scanf("%d", &num); while (num!= 0) { if (num % 2 == 0) { for (int i = 2; i <= num / 2; i++) { if (isPrime(i) && isPrime(num - i)) { printf("%d 可以分解为 %d 和 %d\n", num, i, num - i); break; } } } else { printf("%d is odd number!\n", num); } printf("请输入一个大于 2 的正整数(输入 0 结束):"); scanf("%d", &num); } return 0; } ``` 这段代码首先定义了一个函数 `isPrime` 来判断一个数是否为素数。在 `main` 函数中,通过一个循环不断接收用户输入的数字,根据数字是奇数还是偶数进行相应的处理。对于偶数,通过循环找到能将其分解为两个素数的组合并输出;对于奇数,输出提示信息。当输入为 0 时,程序结束。 [2024-10-13 23:06:39 | AI写代码神器 | 395点数解答]

相关提问