早教吧 育儿知识 作业答案 考试题库 百科 知识分享

数的拆分将正整数n拆分成k份(使k个非零数之和的等于n),且每种拆分方案不能为空,任意两种拆分方案不能相同(不考虑顺序)。例如:n=7,k=3,共4种拆分方法为:①1、1、5;②1、2、

题目详情
数的拆分
将正整数n拆分成k份(使k个非零数之和的等于n),且每种拆分方案不能为空,任意两种拆分方案不能相同(不考虑顺序)。例如:n=7,k=3,共4种拆分方法为:①1、1、5; ②1、2、4; ③1、3、3; ④2、2、3。下面三种分法被认为是相同的:1、1、5; 1、5、1; 5、1、1;编程任务:
给定的正整数n,分成k分,编程计算有多少种不同的分法,并将每组数存入数组。
也可以不用存到数组入输出,只求出不同的分法.
▼优质解答
答案和解析
若输出拆法,深度优先搜索,为(n,k)时则记录。
int n,k,num[100];
void number(int now,int nowk)
{ int i;
if(nowk==k&&now==0)
保存num数组;
for(i=now+1;i
看了数的拆分将正整数n拆分成k份(...的网友还看了以下: