| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 3181 人关注过本帖
标题:整数的分划问题
只看楼主 加入收藏
weipeng1217
Rank: 5Rank: 5
等 级:职业侠客
帖 子:175
专家分:386
注 册:2012-1-12
结帖率:77.78%
收藏
已结贴  问题点数:20 回复次数:27 
整数的分划问题
    整数的分划问题。
    如,对于正整数n=6,可以分划为:
    6
    5+1
    4+2, 4+1+1
    3+3, 3+2+1, 3+1+1+1
    2+2+2, 2+2+1+1, 2+1+1+1+1
    1+1+1+1+1+1+1
    现在的问题是,对于给定的正整数n,编写算法打印所有划分。
    用户从键盘输入 n (范围1~10)
    程序输出该整数的所有划分。
搜索更多相关主题的帖子: 键盘 算法 正整数 用户 
2012-01-12 22:14
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:5 
这个不难,问另一个问题。对于任意正整数n,它有多少种划分。估且考虑n <= 400 的情况。

重剑无锋,大巧不工
2012-01-12 23:06
小赵q1
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:492
专家分:777
注 册:2011-8-26
收藏
得分:0 
感觉很多题目牵扯到得都有公式,比如这个题目如果说要输出有多少种划分,套用一个公式应该就能算出来,
但是要把每一种划分都输出来,那么就要琢磨下该怎么输出这些结果了
2012-01-13 00:37
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:5 
这个问题不就是 n个鸡蛋放到n个篮子里(篮子可以为空,只考虑组合不考虑排列),有几种放法的问题吗?

梅尚程荀
马谭杨奚







                                                       
2012-01-13 01:46
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
楼主对于题目有怎么想法?思考过吗?

总有那身价贱的人给作业贴回复完整的代码
2012-01-13 01:47
weipeng1217
Rank: 5Rank: 5
等 级:职业侠客
帖 子:175
专家分:386
注 册:2012-1-12
收藏
得分:0 
回复 2楼 beyondyf
划分的种类应该是 (n/2)+1种,这个题目貌似不能单凭一个公式套出所有的划分

C坛友交流群 群号:161091913 ,欢迎经常在线的朋友加入,一起学习,一起进步。。
2012-01-13 11:38
weipeng1217
Rank: 5Rank: 5
等 级:职业侠客
帖 子:175
专家分:386
注 册:2012-1-12
收藏
得分:0 
回复 5楼 embed_xuel
有在考虑,刚刚开始接触C,这个题目有点伤脑筋,算法公式,还没想出来

C坛友交流群 群号:161091913 ,欢迎经常在线的朋友加入,一起学习,一起进步。。
2012-01-13 11:48
weipeng1217
Rank: 5Rank: 5
等 级:职业侠客
帖 子:175
专家分:386
注 册:2012-1-12
收藏
得分:0 
回复 4楼 有容就大
小菜初来乍到,还望大虾指点。

C坛友交流群 群号:161091913 ,欢迎经常在线的朋友加入,一起学习,一起进步。。
2012-01-13 11:50
weipeng1217
Rank: 5Rank: 5
等 级:职业侠客
帖 子:175
专家分:386
注 册:2012-1-12
收藏
得分:0 
回复 3楼 小赵q1
我觉得这个划分,只用一个公式好像不能解决吧,好像每一列都得一个公式吧

C坛友交流群 群号:161091913 ,欢迎经常在线的朋友加入,一起学习,一起进步。。
2012-01-13 11:52
beyondyf
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:3282
专家分:12654
注 册:2008-1-21
收藏
得分:0 
公式?没那么简单。建议你们讨论一下我提出的问题。讨论最好具体一点,有理有据,有分析。

至于遍历结果确实是最简单的。可以给你们个例子,但我希望各位能多想想其中的原理,而不是直接抄了给老师交作业。
程序代码:
#include<stdio.h>
void p(int n, int index)
{
    static int a[512];
    int i;
    if(n <= 0)
    {
        printf("%d", a[0]);
        for(i = 1; i < index; printf(" + %d", a[i++]));
        printf("\n");
        return;
    }
    for(i = index && n >= a[index - 1] ? a[index - 1] : n; i; i--)
    {
        a[index] = i;
        p(n - i, index + 1);
    }
}
void print(int n)
{
    p(n, 0);
}
int main()
{
    int n;
    scanf("%d", &n);
    print(n);
    return 0;
}

重剑无锋,大巧不工
2012-01-13 12:06
快速回复:整数的分划问题
数据加载中...
 
   



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

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