| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 538 人关注过本帖
标题:数据结构刚入门....来问一道题,要求用C调试通过
只看楼主 加入收藏
lrt201136019
Rank: 1
等 级:新手上路
帖 子:54
专家分:2
注 册:2012-3-18
结帖率:50%
收藏
已结贴  问题点数:20 回复次数:3 
数据结构刚入门....来问一道题,要求用C调试通过
设m,n均为自然数,m可表示为一些不超过n的自然数之和,试编写函数f(m,n)计算这种表示方法的数目。
例如:f(5,3)=5:3+2、3+1+1、2+2+1、2+1+1+1、1+1+1+1+1

搜索更多相关主题的帖子: 自然数 
2012-09-13 14:05
寒风中的细雨
Rank: 17Rank: 17Rank: 17Rank: 17Rank: 17
等 级:贵宾
威 望:66
帖 子:1710
专家分:8645
注 册:2009-9-15
收藏
得分:7 
程序代码:
#include <iostream>
#include <list>
using namespace std;

list<int> g_list;

void show()
{
    list<int>::const_iterator beg = g_list.begin(),
        end = g_list.end();

    while (beg != end)
    {
        cout << *beg << ' ';
        ++beg;
    }
    cout << endl;
}

void f(int n)
{
    if (1 == n)
    {
        return;
    }
    int i = 1;
    int j = n/2;
    while (i <= j)
    {
        g_list.push_front(n-i);
        g_list.push_front(i);
        show();
        g_list.pop_front();
        f(i);
        g_list.pop_front();
        g_list.push_front(i);
        f(n-i);
        g_list.pop_front();
        ++i;
    }
}

int main()
{
    f(20);
    return 0;
}
2012-09-14 15:05
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:7 
版主辛苦了 伸手党你也给代码   鄙视

我要成为嘿嘿的黑客,替天行道
2012-09-17 18:22
netlin
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:24
帖 子:544
专家分:4308
注 册:2012-4-9
收藏
得分:7 
又是一个数学问题!
给出代码,也好,大家都可以学习一下!

做自己喜欢的事!
2012-09-17 23:38
快速回复:数据结构刚入门....来问一道题,要求用C调试通过
数据加载中...
 
   



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

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