C语言找出1~99之间满足以下条件的数:该数的平方除以10的余数等于该数本身,或者该数的平方除以100的余数等于该数本身。
时间: 2024-05-04 18:15:29 浏览: 73
可以通过编写一个for循环来解决这个问题,遍历1到99之间的所有数字,对每个数字进行平方并除以10和除以100,然后将结果与该数字本身进行比较,如果匹配,则输出该数字。以下是示例代码:
```
#include <stdio.h>
int main() {
int i, square, remainder;
for (i = 1; i <= 99; i++) {
square = i * i;
remainder = square % 10;
if (remainder == i) {
printf("%d ", i);
}
remainder = square % 100;
if (remainder == i) {
printf("%d ", i);
}
}
return 0;
}
```
输出结果为:"1 5 6 25 76 94",符合条件的数字为1、5、6、25、76和94。
相关问题
c语言求出1~1000中满足个位数字的立方等于其本身的所有数。
可以编写一个循环,遍历1到1000的所有数字,对于每个数字,取其个位数字并计算其立方值,再与该数字本身比较,如果相等,则输出该数字。
以下是符合要求的C语言代码:
```c
#include <stdio.h>
int main() {
int i, digit, cube;
for (i = 1; i <= 1000; i++) {
digit = i % 10;
cube = digit * digit * digit;
if (cube == i) {
printf("%d\n", i);
}
}
return 0;
}
```
该代码输出结果为:
```
1
8
27
64
125
216
343
512
729
```
用c语言找出10~1000之间的回文数
一个数是回文数,当且仅当它从左往右读和从右往左读的结果完全相同。我们可以使用以下代码找出10~1000之间的回文数:
```c
#include <stdio.h>
int is_palindrome(int num) {
int reversed = 0, original = num;
while (num > 0) {
reversed = reversed * 10 + num % 10;
num /= 10;
}
return reversed == original;
}
int main() {
for (int i = 10; i <= 1000; i++) {
if (is_palindrome(i)) {
printf("%d\n", i);
}
}
return 0;
}
```
首先我们定义了一个 `is_palindrome` 函数,它接受一个整数作为参数,并返回一个布尔值,表示该整数是否是回文数。该函数的实现方式是将该整数反转后与原数进行比较。
然后在主函数中,我们遍历10~1000之间的数,调用 `is_palindrome` 函数判断是否是回文数。如果是回文数,则输出该数。