C语言。 输出所有的3位数,
答案:4 悬赏:10 手机版
解决时间 2021-03-03 11:12
- 提问者网友:风月客
- 2021-03-03 05:04
C语言。 输出所有的3位数,其各位数字立方和等于该数本身,例如153=1的3次方+5的3次方+3的3次方。
最佳答案
- 五星知识达人网友:杯酒困英雄
- 2021-03-03 05:24
#include <stdio.h>
#include <stdlib.h>
int cubic(int a){
return a*a*a;
}
int main(){
int i;
int num,tmpNum;
int tmp[3];
for(num=100;num<1000;num++){//这里可以优化,减小1000,加大步长,不过这个更容易懂
i=0;
tmpNum=num;
while(tmpNum){
tmp[i++]=tmpNum%10;
tmpNum/=10;
}
tmpNum=cubic(tmp[0])+cubic(tmp[1])+cubic(tmp[2]);
if(tmpNum==num){
printf("%d\n",num);
}
}
system("pause");
return 0;
}
#include <stdlib.h>
int cubic(int a){
return a*a*a;
}
int main(){
int i;
int num,tmpNum;
int tmp[3];
for(num=100;num<1000;num++){//这里可以优化,减小1000,加大步长,不过这个更容易懂
i=0;
tmpNum=num;
while(tmpNum){
tmp[i++]=tmpNum%10;
tmpNum/=10;
}
tmpNum=cubic(tmp[0])+cubic(tmp[1])+cubic(tmp[2]);
if(tmpNum==num){
printf("%d\n",num);
}
}
system("pause");
return 0;
}
全部回答
- 1楼网友:佘樂
- 2021-03-03 08:18
#include <stdio.h>
int main(void)
{
int i;
int j;
int k;
for(i=0;i<10;i++){
for(j=0;j<10;j++){
for(k=0;k<10;k++){
if(i*i*i+j*j*j+k*k*k == i*100+j*10+k && i*100+j*10+k >=100){
printf("%d\n",i*100+j*10+k);
}
}
}
}
return 0;
}程序比较挫,你就凑合着看了!
望你采纳!
- 2楼网友:西风乍起
- 2021-03-03 07:20
有,只是从屏幕里被挤出去了,默认cmd窗口只能缓冲300行,你可以一行多输出几个
#include
int main()
{
unsigned n;
int count=0; //再定义一个变量用来计数
for(n=100000;n<=999999;n++)
{
if(n/100000==n%10)
if(n/10000%10==n/10%10)
if(n/1000%10==n/100%10)
{
printf("%d ",n);
count++;
if(count%5==0) //每行5个
printf("\n");
}
}
getch();
}
- 3楼网友:愁杀梦里人
- 2021-03-03 06:33
有,只是从屏幕里被挤出去了,默认cmd窗口只能缓冲300行,你可以一行多输出几个
#include
int main()
{
unsigned n;
int count=0; //再定义一个变量用来计数
for(n=100000;n<=999999;n++)
{
if(n/100000==n%10)
if(n/10000%10==n/10%10)
if(n/1000%10==n/100%10)
{
printf("%d ",n);
count++;
if(count%5==0) //每行5个
printf("\n");
}
}
getch();
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯