| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 485 人关注过本帖
标题:求解问题...
取消只看楼主 加入收藏
mylzy159
Rank: 2
等 级:论坛游民
帖 子:61
专家分:23
注 册:2009-4-12
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
求解问题...
输入一个整数N,这个整数能被分解成若干个整数的阶层相加..如N=x!+y!+.....+n!
并且各个整数互不相等..输入N,求x+y+.....+n的值..
搜索更多相关主题的帖子: 求解 
2010-04-19 07:26
mylzy159
Rank: 2
等 级:论坛游民
帖 子:61
专家分:23
注 册:2009-4-12
收藏
得分:0 
提供思路就行了...忘记说了..不好意思..
2010-04-21 16:20
mylzy159
Rank: 2
等 级:论坛游民
帖 子:61
专家分:23
注 册:2009-4-12
收藏
得分:0 
#include <iostream>
using namespace std;
void fun(int x,int sum)
{
    int i,a,result=1;
    for(i=1;i<=x;i++)
    {
        for(a=1;a<=i;a++)
            result*=a;
        if((x-result)==0)//判断整数的最后一个阶层
        {
            sum+=i;
            cout<<sum;
            exit(0);
        }
        if((x-result)<result)//判断是否是最大阶层
        {
            sum+=i;
            fun(x-result,sum);
        }
        result=1;
    }
}
main()
{
    int sum=0,n;
    cin>>n;
    fun(n,sum);
}
貌似能行/..
2010-04-21 16:49
快速回复:求解问题...
数据加载中...
 
   



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

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