编写C语言程序,按从小到大的顺序寻找同时符合条件 1 1 和 2 2 的所有 3 3 位数,条件为: 1、该数为完全平方数; 2、该数至少有 2 位数字相同。 例如:100 同时满足上面两个条件。
时间: 2024-10-08 16:11:00 浏览: 21
在C语言中编写一个程序来找到满足这两个条件的三位数完全平方数,可以按照以下步骤进行:
1. 定义一个函数`isPerfectSquare`检查是否为完全平方数,通过计算根并比较四舍五入后的结果来判断。
2. 创建一个主函数`main`,从最小的三位数900开始遍历,逐个检查每个数是否满足条件。
3. 使用嵌套循环,外层循环控制百位数,内层循环控制十位和个位,如果发现有两位数字相等且当前数是完全平方数,就打印出来。
下面是一个简单的示例代码实现:
```c
#include <stdio.h>
#include <math.h>
// 判断是否为完全平方数
int isPerfectSquare(int num) {
int root = sqrt(num);
return (root * root == num);
}
// 检查是否满足条件
void checkNumber(int num) {
char digits[4];
// 转换为字符串便于处理
itoa(num, digits, 10);
if (num >= 100 && num <= 999 && isPerfectSquare(num)) {
int count_same_digits = 0;
for (int i = 0; i < 3; i++) {
for (int j = i + 1; j < 3; j++) {
if (digits[i] == digits[j]) {
count_same_digits++;
break;
}
}
}
// 如果有两个相同的数字,满足条件
if (count_same_digits == 2) {
printf("%d\n", num);
}
}
}
int main() {
for (int i = 900; i <= 999; i++) {
checkNumber(i);
}
return 0;
}
```
阅读全文