| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2315 人关注过本帖
标题:这题算法的难度好高,希望有高手解答
只看楼主 加入收藏
qqrori
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2005-3-19
收藏
得分:0 
怎么样?大家想出来了吗?我现在正在试编
2005-03-22 22:24
qqrori
Rank: 1
等 级:新手上路
帖 子:42
专家分:0
注 册:2005-3-19
收藏
得分:0 
晕,怎么样用暴力方法啊?我想来想去,还差一个判断条件!
2005-03-22 22:45
coloar123
Rank: 1
等 级:新手上路
帖 子:111
专家分:0
注 册:2005-1-6
收藏
得分:0 

#include <stdio.h> void main(void) { int a[10]={0},p[10]={0}; int i,n,m,j=0; int k1,k2; for(i=10;i<30;i++) {k1=i*i*i; k2=i*i*i*i; if((i*i*i)>999&&(i*i*i)<10000&&(i*i*i*i)>99999&&(i*i*i*i)<1000000) { a[j]=i; p[0]=k1/1000; p[1]=(k1%1000)/100; p[2]=(k1%100)/10; p[3]=k1%10; p[4]=k2/100000; p[5]=(k2%100000)/10000; p[6]=(k2%10000)/1000; p[7]=(k2%1000)/100; p[8]=(k2%100)/10; p[9]=k2%10; for(n=0;n<10;n++) for(m=n+1;m<10;m++) {if(p[n]==p[m]) a[j]=0;

} j++;

} } for(n=0;n<10;n++) if(a[n]!=0) printf("%d ",a[n]);

} 這是小弟做的,但是可能太繁瑣咯 不過沒辦法,由於時間太急啦 我還要做作業。

[此贴子已经被作者于2005-3-23 0:36:38编辑过]


两耳不闻窗外事,专心只读圣贤书
2005-03-23 00:34
agocih
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2005-3-17
收藏
得分:0 
#include &lt;stdio.h&gt;
void main()
{
   long t,i,j,k,m1,m2;
   int a[10];
   for(i=10;i&lt;23;i++){
       for(t=0;t&lt;10;t++)
     a[t]=0;
       j=i*i*i;
       k=i*i*i*i;
       for(m1=0;m1&lt;4;m1++){
    if(1==a[j%10])
        break;
    else{
        a[j%10]=1;
        j/=10;
    }
       }
       for(m2=0;m2&lt;6;m2++){
    if(1==a[k%10])
        break;
    else{
        a[k%10]=1;
        k/=10;
    }
       }
       if(4==m1&amp;&amp;m2==6)
   printf("result=%d",i);
   }
}

2005-03-24 14:52
agocih
Rank: 1
等 级:新手上路
帖 子:45
专家分:0
注 册:2005-3-17
收藏
得分:0 
不好意思输出格式应该改为%ld

2005-03-24 14:52
形影随从
Rank: 1
等 级:新手上路
威 望:1
帖 子:188
专家分:0
注 册:2005-3-15
收藏
得分:0 
main()
{
int  i=10,j,k,a[10],sum=1;
long s1,s2;
while(1)
{
  s1=i*i*i;
  s2=s1*i;
  if(1000&lt;s1 &amp;&amp; s1&lt;10000 &amp;&amp; 100000&lt;s2 &amp;&amp;s2&lt;1000000)
  {
     a[0]=s1/1000;  
     a[1]=s1/100-a[0]*10;
     a[2]=s1/10-(a[0]*1000+a[1]*10);
     a[3]=s1%10;
     a[4]=s2/100000;
     a[5]=s2/10000-a[4]*10;
     a[6]=s2/1000-(a[4]*100+a[5]*10);
     a[7]=s2/100-(a[4]*1000+a[5]*100+a[6]*10);
     a[8]=(s2/10)%10;
     a[9]=s2%10;
     for(j=0;j&lt;10;j++)
         for(k=j;k&lt;10;k++)
             if(a[i]==a[j])
                sum=0;
       if(sum==1)
         {
            printf("%d\n",i);
             break;
             }
    }
  i++;
}
}

答案等于 18

2005-03-24 23:26
他们
Rank: 1
等 级:新手上路
帖 子:70
专家分:0
注 册:2005-3-22
收藏
得分:0 
好题!
不过我现在没时间呆会去想

2005-03-25 20:59
hbjmll
Rank: 1
等 级:新手上路
帖 子:8
专家分:0
注 册:2005-3-14
收藏
得分:0 
#include &lt;iostream.h&gt;
void main()
{
    unsigned int i=0,i3,i4,j,k,x=0;
 do
 {
  x=0;i++;i3=i*i*i;i4=i3*i;
  if ((i3&lt;1000)||(i3&gt;9999)||(i4&lt;100000)||(i4&gt;999999)) continue;
  for (j=1;j&lt;=4;j++)  {k=i3%10;i3=i3/10;x=x|(1&lt;&lt;k);}
  for (j=1;j&lt;=6;j++)  {k=i4%10;i4=i4/10;x=x|(1&lt;&lt;k);}
  if (x==0x3ff) cout&lt;&lt;i&lt;&lt;endl;
 }
 while((i*i*i)&lt;10000);
}
2005-04-15 10:04
Murray
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2005-4-10
收藏
得分:0 
晕,这是数学问题,郁闷

2005-04-15 11:10
lmr
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2004-12-9
收藏
得分:0 

请问各位大侠,我这样写为何行不通呢! #include<stdio.h> #include<math.h> main() { int x,t,i,j,sum; int x1; long x2; int a[10]; for(x=17;x<25;x++) { x1=pow(x,3); x2=pow(x,4);

if(x1>=1000&&x1<=9999&&x2>=100000&&x2<=999999) { a[0]=x1/1000; a[1]=x1/100%10; a[2]=x1/10%10; a[3]=x1%10; a[4]=x2/100000; a[5]=x2/10000%10; a[6]=x2/1000%10; a[7]=x2/100%10; a[8]=x2/10%10; a[9]=x2%10; } for(i=0;i<10;i++) for(j=i+i;j<10;j++) if(a[i]==a[j])   //也许关键是在这些地方出错了吧,请大伙帮忙,谢谢! break; printf("This number is %d\n",x); } getch(); }

2005-04-15 15:43
快速回复:这题算法的难度好高,希望有高手解答
数据加载中...
 
   



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

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