代码-将一个数M分成N数的和,去重

问题描述

将一个数M分成N数的和,去重
如何将一个数M分成N数的和,比如4的几种情况:1+1+1+1,1+1+2,1+3。
其中1+1+2跟1+2+1算一种情况求代码,大神快来

解决方案

能拿原题来看吗?
表示没看懂题目

解决方案二:
主要是不知道有几个入口参数,几个出口参数

解决方案三:

 #include<iostream>using namespace std;int partition(int n);int partitionHelp(int nint m){    if(n<1 ||m<1)    {        return 0;    }    else if(n==1 ||m==1)    {        return 1;    }    else if(n<m)    {        return partitionHelp(nn);    }    else if(n==m)    {        return 1+partitionHelp(nn-1);    }    else    {        return partitionHelp(nm-1)+partitionHelp(n-mm);    }}int partition(int n){    partitionHelp(nn);}int main(){    int n;    while(cin >> n){        printf(""共有%d种不重复的分解方式n"" partition(n));    }    return 0;}
时间: 2024-11-02 23:22:41

代码-将一个数M分成N数的和,去重的相关文章

c#如何判断一个数是否是完数

完数就是该数的所有约数(能整除自己的自然数,但不包括本身)相加等于自己的数.如28就是一个完数,28=+1+2+4+7+14. 利用下面的算法可以一个数是否为完数,如果为完数输出该数所有的约数,并返回True,否则,返回False.程序代码如下: public bool IsWanShu(int Num){ int s=0; for (int i=1;i<Num;i++) { if((Num%i)==0) s=s+i; } if (Num == s) { string str = s.ToStr

VC++6.0下面那段代码就读一个数怎么出乱码了

问题描述 VC++6.0下面那段代码就读一个数怎么出乱码了 20C int y;FILE* fp8=fopen(""E://dataoutput7.txt""r"");fprintf(fp8%d ""&y);fclose(fp8); TXT文件中就一个数字7,用这段代码怎么读出乱码了,求解决 解决方案 char ch[10];fprintf(fp8%s ""&ch);int y = atoi

linux find下如何统计一个目录下的文件个数以及代码总行数的命令_unix linux

今天遇到如题所示问题,网上捣鼓半天,有收获     知道指定后缀名的文件总个数命令:        find . -name "*.html" | wc -l     知道一个目录下代码总行数以及单个文件行数:        find . -name "*.html" | xargs wc -l

c语言-编程算法 - 最小的k个数 代码(C)

问题描述 编程算法 - 最小的k个数 代码(C) 请解释一下在c语言中怎样编写在输入的N个数中找到k个最小的数 解决方案 排序吧,再输出前k个数 解决方案二: 遍历,找出MAX,移除MAX,循环K遍 解决方案三: 我觉得你的问题是怎么将输入的数保存下来,你可以先定义一个vector. vector vec;int iNUm = 0;while(cin>>iNum)//需要结束的时候输入ctrl+z;{ vec.push_back(iNum);}//最后对整个vec进行排序,取得最小的值 解决方

java阶乘计算获得结果末尾0的个数代码实现_java

看到题目后,分析了下, 10的阶乘就已经很大了.计算出来再得到这个末尾的0的个数,完全不现实,即使实现了也是很麻烦的. 后来想某个数的阶乘中乘积有5结尾的数字的时候就应该在结果的末尾产生一个0. 付诸实现,测试了几个, 没出错. 贴出来, 大家看看, 有问题了及时指教: 复制代码 代码如下: /**     * 求1000~10000之间的数n的阶层并计算所得的数n!末尾有多少个0?     */    public static void test2(int number){        i

java 二维数组-java中把两个维数相同的矩阵对应的元素相加得到新的矩阵的代码

问题描述 java中把两个维数相同的矩阵对应的元素相加得到新的矩阵的代码 java中把两个维数相同的矩阵对应的元素相加得到新的矩阵的代码怎么写,在int[][] add(int[][]a,int[][] b)中添加代码,实现这个功能 解决方案 循环不就行了,和遍历差不多.

SQL MSSQL 常用代码大全

/*********************************************************/ function:SQL MSSQL TECHNOLOGY ARTICLE file :SQL-MSSQL.TXT author :chinayaosir QQ:44633197 Tools :MSSQL QUERY ANALYSIS date :4/01/2010 blog :http://blog.csdn.net/chinayaosir note :禁止其它网站转载此文章

用批处理解决数学问题的代码第1/4页_DOS/BAT

#01 ! 求水仙花数? #02 ! 有四个数,其中任意三个数相加,所得的和分别是84,88,99,110,求这四个数? #03 ! 赵姑娘的岁数有以下特点: 1. 它的3次方是一个四位数,而4次方是一个六位数; 2. 这四位数和六位数正好是0到9这十个数字组成. 问,这个数应该是什么数? #04 ! 排一本辞典的页码共用了4889个数字.这本辞典共有多少页? 答案:1499 #05 ! 阿聪说他这次去西北看见一群骆驼,共有23个驼峰,60只脚.请问单.双峰骆驼各多少只? #06 ! 有一个五位

SQL MSSQL 常用代码大全_MsSql

/*********************************************************/ function:SQL MSSQL TECHNOLOGY ARTICLE file :SQL-MSSQL.TXT author :chinayaosir QQ:44633197 Tools :MSSQL QUERY ANALYSIS date :4/01/2010 blog :http://blog.csdn.net/chinayaosir note :禁止其它网站转载此文章