湖南省计算机二级C语言程序设计题答案及解析 - 素数范围内数字个数

0 下载量 128 浏览量 更新于2024-01-21 收藏 84KB DOC 举报
根据所给的题目要求,我们需要在[100, 999]范围内找到满足两个条件的数,并计算出有多少个这样的数。 首先,我们可以使用一个循环来遍历[100, 999]范围内的所有数。对于每一个数,我们可以通过取余和除法来获取它的个位、十位和百位数字。 然后,我们可以对获取到的个位和十位数字进行求和,并与百位数字进行比较。如果它们之和除以10的余数等于百位数字,那么这个数满足第一个条件。 接下来,我们可以通过一个函数来判断一个数是否为素数。素数是大于1的自然数中,除了1和它本身外没有其他因数的数。我们可以使用一个循环来判断给定的数是否有除了1和它本身以外的因数,如果有,则不是素数;如果没有,则是素数。 最后,我们可以在满足两个条件的数的判断中,再加上判断是否为素数的条件。如果一个数同时满足这两个条件,那么我们就可以将其计数。 接下来是具体的代码实现: ```c #include <stdio.h> // 判断一个数是否是素数 int isPrime(int n) { if (n == 1) { return 0; } for (int i = 2; i < n; i++) { if (n % i == 0) { return 0; } } return 1; } int main() { int count = 0; // 用于计数满足条件的数的个数 for (int num = 100; num <= 999; num++) { int unitDigit = num % 10; // 个位数字 int tenDigit = (num / 10) % 10; // 十位数字 int hundredDigit = num / 100; // 百位数字 if ((unitDigit + tenDigit) % 10 == hundredDigit && isPrime(num)) { count++; } } printf("满足条件的数的个数为:%d\n", count); return 0; } ``` 在以上代码中,我们定义了一个`isPrime`函数来判断一个数是否是素数。然后,在`main`函数中,我们使用一个`for`循环遍历从100到999的所有数。对于每一个数,我们获取其个位、十位和百位数字,并进行判断条件。如果满足条件,我们就将计数器`count`加1。最后,输出满足条件的数的个数。 通过运行以上代码,我们可以得到满足条件的数的个数为15个。