当前位置: 代码迷 >> C语言 >> 解x1+x2+x3+x4+x5+x6+x7+x8+x9+x10=100
  详细解决方案

解x1+x2+x3+x4+x5+x6+x7+x8+x9+x10=100

热度:706   发布时间:2007-10-23 19:18:23.0

有点像运筹学里面的...


----------------解决方案--------------------------------------------------------
怎么没有人说这是个整数划分呢??

int f(int x,int y)
{
if(x<y) y=x;
if(x==0)
return 1;
if(y==1)
return 1;
return f(x,y-1)+f(x-y,y);
}
int main()
{
f(100,10);
}

----------------解决方案--------------------------------------------------------

穷举法,就是用9个循环每个循环都是从0到100,x10为100减去9个循环变量即可


----------------解决方案--------------------------------------------------------

自己尝试一下不就知道了嘛!!


----------------解决方案--------------------------------------------------------
以下是引用crackerwang在2007-10-23 20:58:52的发言:
怎么没有人说这是个整数划分呢??

int f(int x,int y)
{
if(x<y)
y=x;
if(x==0)
return 1;
if(y==1)
return 1;
return f(x,y-1)+f(x-y,y);
}
int main()
{
f(100,10);
}

虽然有这个味道,但你定义的整数划分是指n的最大加数不大于m划分个数f(n,m).而题目是由十个连续数的加数组成.


----------------解决方案--------------------------------------------------------
crackerwang说的没有错



by 雨中飞燕 C/C++学习讨论群:46520219
[url=http://yzfy.org/]C/C++算法习题(OnlineJudge):[/url] http://yzfy.org/
Blog: http://yzfy.programfan.com

[url=http://bbs.bc-cn.net/viewthread.php?tid=163571]请大家不要用TC来学习C语言,点击此处查看原因[/url] [url=http://blog.programfan.com/article.asp?id=24801]请不要写出非int声明的main函数[/url]
[url=http://bbs.bc-cn.net/viewthread.php?tid=162918]C++编写的Windows界面游戏[/url]
----------------解决方案--------------------------------------------------------
我看错个连续的了.不是连续的.
貌似可以重复为0.那就和整数划分一样了
----------------解决方案--------------------------------------------------------
  相关解决方案