用c语言编写 班里来了一名新同学,很喜欢学数学,同学们问他年龄的时候,他向大家说:“我的年龄的平方是个三位数,立方是个四位数,四次方是个六位数。三次方和四次方正好用遍0、1、2、3、4、5、6、7、8、9这10个数字,那么大家猜猜我今年多大?
时间: 2023-05-29 21:07:34 浏览: 203
C语言程序设计-求一个四位数的各位数字的立方和.c
5星 · 资源好评率100%
#include <stdio.h>
#include <math.h>
int main() {
int age;
for(age=10; age<=99; age++) {
int square = age * age;
if(square < 100 || square > 999) {
continue;
}
int cube = age * age * age;
if(cube < 1000 || cube > 9999) {
continue;
}
int fourth_power = age * age * age * age;
if(fourth_power < 100000 || fourth_power > 999999) {
continue;
}
int digits[10] = {0};
int i;
for(i=0; i<10; i++) {
digits[i] = 0;
}
int temp = cube;
while(temp > 0) {
digits[temp % 10] = 1;
temp /= 10;
}
temp = fourth_power;
while(temp > 0) {
digits[temp % 10] = 1;
temp /= 10;
}
int flag = 1;
for(i=0; i<10; i++) {
if(digits[i] == 0) {
flag = 0;
break;
}
}
if(flag) {
printf("The age is %d\n", age);
}
}
return 0;
}
阅读全文