| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 481 人关注过本帖
标题:[休闲]
只看楼主 加入收藏
王天
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-12-18
收藏
 问题点数:0 回复次数:8 
[休闲]
某数3次方是4位数,4次方是6位数,并且这两个数中没有重复数字.如何用C语言编程求出该数呢?
那位高手请指教,谢了!

[此贴子已经被作者于2007-5-13 14:20:47编辑过]

搜索更多相关主题的帖子: 休闲 
2007-05-10 20:54
YOGIOH
Rank: 1
等 级:新手上路
帖 子:102
专家分:0
注 册:2007-5-8
收藏
得分:0 
#include<stdio.h>
#include<math.h>
void main()
{
int x,i,a[9]={11,22,33,44,55,66,77,88,99};
for(x=0;x<100;x++)
{
if((1000<=pow(x,3))&&(pow(x,3)<=9999)&&(pow(x,4)<=999999)&&(pow(x,4)>=100000))
{
for(i=0;i<8;i++)
{
if(x==a[i])break;
else printf("correctnumber is %d\n",x);
break;
}
}
}
getch();
}

我的想法
本人比较菜可能复杂化了

2007-05-10 22:11
whw19840229
Rank: 1
等 级:新手上路
帖 子:80
专家分:0
注 册:2006-7-20
收藏
得分:0 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

2007-05-11 01:38
高达
Rank: 1
等 级:新手上路
威 望:1
帖 子:261
专家分:0
注 册:2006-10-27
收藏
得分:0 

某人年龄的3次方是4位数,4次方是6位数
我们可以粗略的知道 该人年龄在10-30之间,
#include<stdio.h>
#include<math.h>
int bijiao(long c,int num); /*检查数字C是否有重复的数字有就返回0没就返回1(num是C的位数)*/

main()
{
long x;

for(x=11;x<30;x++)
{
if(x*x*x<=9999 && x*x*x*x>=100000 && x*x*x*x<=999999)
{

if(bijiao(x*x*x,4) && bijiao(x*x*x*x,6))
printf("x= %ld x^3= %ld x^4= %ld\n",x,x*x*x,x*x*x*x); /*输出符合要求的数据*/

}

}
getch();
}

int bijiao(long c,int num)
{
int a[6],i=0,k=0;

while(c>0) /*提取各个位上的数*/
{
a[i]=c%10;
c=c/10;
i++;
}
for(i=0;i<num;i++)
for(k=0;k<num;k++)
{
if(i!=k)
if(a[i]==a[k])
return 0;
}
return 1;
}
不知道这样做好不好
但是值的一提的是pow()返回的数据类型 是double的

[此贴子已经被作者于2007-5-11 10:30:34编辑过]


哎 时间....................
2007-05-11 10:27
marshhj
Rank: 1
等 级:新手上路
帖 子:40
专家分:3
注 册:2007-4-27
收藏
得分:0 
我的笨方法。

#include<stdio.h>
main()
{ long int c3,c4,a1,a2,i;
for (i=10;i<100;i++)
{ c3=i*i*i;
c4=i*i*i*i;
a1=i%10;a2=i/10;
if ( (a1!=a2) && (c3>1000) && (c3<9999) && (c4>100000) && (c4<999999)) printf("%d ",i);
}
}

[此贴子已经被作者于2007-5-11 11:12:09编辑过]

2007-05-11 11:07
liyuewen
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2007-5-7
收藏
得分:0 
#include<stdio.h>
void main()
{int a,b;
long int c;
for(a=1;a<100;a++)
{b=a*a*a;
c=a*a*a*a;
if(b>999&&b<=9999||c>99999&&c<=999999)
printf(" %d",a);
}
printf("\n");
}
2007-05-13 13:41
liyuewen
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2007-5-7
收藏
得分:0 
再加a%11!=0
2007-05-13 13:45
liyuewen
Rank: 1
等 级:新手上路
帖 子:54
专家分:0
注 册:2007-5-7
收藏
得分:0 
即变成#include<stdio.h>
void main()
{int a,b;
long int c;
for(a=1;a<100;a++)
{b=a*a*a;
c=a*a*a*a;
if(b>999&&b<=9999||c>99999&&c<=999999)
{if(a%11!=0)
printf(" %d",a);
}
}
printf("\n");
}
2007-05-13 13:49
王天
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-12-18
收藏
得分:0 
回复:(YOGIOH)#include#include
thank you for your help!
2007-05-13 14:13
快速回复:[休闲]
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012430 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved