困扰了我一年的问题

elated 2009-10-12 10:29:13
加精
找出这样的正整数:它不是9个不同的正整数的立方和
一年前在这里问过这个问题
刚学过算法,又想了一个解法。
还有些地方没明白,大家来讨论一下
...全文
4442 186 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
186 条回复
切换为时间正序
请发表友善的回复…
发表回复
c265n46 2009-12-16
  • 打赏
  • 举报
回复
[Quote=引用 92 楼 cymandhxl 的回复:]
任意9个正整数的立方和都可以形成一个正整数
关键是你找他干啥啊
[/Quote]
和我想到一块去了。。
chenlong5420 2009-11-12
  • 打赏
  • 举报
回复
确实高深
liuchai910 2009-11-10
  • 打赏
  • 举报
回复
[Quote=引用 28 楼 elated 的回复:]
用动态规划解。这个问题可以这样看。对于一个数i,如果i可以写成n个不同的正整数的立方和的形式,即i=A1^3+A2^3+A3^3+…+An^3,A1……An是正整数,且单调递增,n个数中最大的一个是An。对于每一种可能的n个数的组合,找出所有的An中最小的一个。如果i不能表示成n个不同的正整数的立方和,那么An=0。
以上是我的理解

C/C++ code
#include<iostream>
#include<assert.h>usingnamespace std;#define N M*M*M#define M 30int a[N+1][10];void calculate()
{for (int i=0 ; i< N+1 ; i++)
{for (int j=0; j<10; j++)
{
a[i][j]=0;
}
}for (int i=1; i< M; i++)
{
a[i*i*i][1]= i;
}for (int i=1; i<9; i++)for (int j=1; j< N ; j++)
{if (0== a[j][i] )
{continue;
}else
{int k=a[j][i]+1 ;for (; k<= M; k++)
{if (k*k*k+ j> N)break;else
{if (0== a[j+k*k*k][i+1]|| a[j+k*k*k][i+1]> k)
a[j+k*k*k][i+1]= k;
}
}
}
}
assert(0!= a[2025][9] );

}void print ()
{for (int i=1*1*1+2*2*2+3*3*3+4*4*4+5*5*5+6*6*6+7*7*7+8*8*8+9*9*9;//略去前2025项 i<= N; i++)
{if ( a[i][9]==0 )
cout<< i<<"" ;
}
}int main ()
{
calculate ();
print ();return0;
}
[/Quote]你这到底是随机找出几个这样的正整数来呢?还是所有的满足这样条件的正整数都找出来呢?要是随机的话就没有必要这么麻烦?要是所有的都找出来,你怎么又在文件头定义一个固定的M值?
dongjinba 2009-10-21
  • 打赏
  • 举报
回复
我来学习一下子
zxlwh1314 2009-10-21
  • 打赏
  • 举报
回复
顶起
zxlwh1314 2009-10-21
  • 打赏
  • 举报
回复
学习学习,我是新人
weiwei459989 2009-10-21
  • 打赏
  • 举报
回复
嗯,关注。
CowmanKing 2009-10-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 elated 的回复:]
http://topic.csdn.net/u/20080909/23/eabb06f6-a109-48b1-9957-4f7d6469fec2.html

看我去年写的代码,我真恨不得死了算了
[/Quote]
好死不如赖活着,要有信心解决问题,哈哈。
dd0373 2009-10-20
  • 打赏
  • 举报
回复
学习!!!!
chenxiaomingit 2009-10-20
  • 打赏
  • 举报
回复
每天回帖有分拿hoho
chenxiaomingit 2009-10-20
  • 打赏
  • 举报
回复
每天回帖有分拿hoho
qw112118 2009-10-20
  • 打赏
  • 举报
回复
晕 这是啥东东啊 脑袋都疼了
muqiaoqiao 2009-10-20
  • 打赏
  • 举报
回复
我看晕了都~~
jeff_nie 2009-10-20
  • 打赏
  • 举报
回复
没看懂。
lovezx1028 2009-10-20
  • 打赏
  • 举报
回复
夠牛。。
xiaohui19999 2009-10-20
  • 打赏
  • 举报
回复
学习了!!!!!!!
tutu08 2009-10-20
  • 打赏
  • 举报
回复
同困扰
总得有个求解区间吧?

有了求解区间这个就可以找出来!
wesweeky 2009-10-20
  • 打赏
  • 举报
回复
标记
flyskytoday 2009-10-20
  • 打赏
  • 举报
回复
读读,,还是读了不太懂~~
krishxyx 2009-10-19
  • 打赏
  • 举报
回复
不懂,关注了。。。
加载更多回复(158)

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧