help wanted。。。。。。。。。。。。。。。。。。

chin_chen 2010-05-15 06:37:45
一个数列由 (3^x)(5^y)(7^z)组成 就是从小到大排列的这个数组 求第n个数是多少 ? 例如:1 3 5 7 9 15...
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
绿色夹克衫 2010-05-18
  • 打赏
  • 举报
回复
不知道n的范围有多大,如果需要求多次的话,当然就按照上面说的查表的方法,如果只是求某一个非常大的n,就需要利用组合的方法来求了(当然求出的结果也会很大)
michael122 2010-05-17
  • 打赏
  • 举报
回复
直接推公式貌似不好推,下面大概写了个程序:


#include <cstdlib>
#include <cstdio>

using namespace std;
#define N 200

unsigned int a[N]={1};

int main(int argc, char *argv[])
{

int i1=0, i2=0, i3=0;
unsigned int r1=a[0]*3, r2=a[0]*5, r3=a[0]*7;
for(int i=1; i<N; i++){
if (r1<=r2 && r1<=r3){
a[i]=r1;
i1++;
if (r1==r2) {i2++; r2=a[i2]*5;}
if (r1==r3) {i3++; r3=a[i3]*7;}
r1=a[i1]*3;
}
else if (r2<=r1 && r2<=r3){
a[i]=r2;
i2++;
if (r2==r3) {i3++; r3=a[i3]*7;}
r2=a[i2]*5;
}
else {
a[i]=r3;
i3++;
r3=a[i3]*7;
}
}

for(int i=0; i<N; i++)
printf("%d ", a[i]);

system("PAUSE");
return EXIT_SUCCESS;
}



超级大笨狼 2010-05-16
  • 打赏
  • 举报
回复
生成排列组合的题目吧?
绿色夹克衫 2010-05-15
  • 打赏
  • 举报
回复
不就是这道题么!

http://topic.csdn.net/u/20100509/20/2c93994a-1399-4848-aaa3-4a2c8136dd3d.html
qq120848369 2010-05-15
  • 打赏
  • 举报
回复
LZ的意思是(3^x)*(5^y)*(7^z)

我写了几步(0,0,0),(1,0,0),(0,1,0),(0,0,1),(2,0,0),(1,1,0) , 没猜出来.

hdchild 2010-05-15
  • 打赏
  • 举报
回复
归并排序
分成3个队列,3^x, 5^y 和 7^z,
一个for循环,每次比较队头的数据,选择大的

33,008

社区成员

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

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