永发信息网

帮忙详细注释下这个程序哦 悬赏仅有的分数 跪谢

答案:1  悬赏:50  手机版
解决时间 2021-05-08 09:22
#include "stdio.h"
int getfirstfactor(int maxz,int n,int *num,int bg)
{
int m,s;
m=n-maxz;
if(maxz==n)
{
num[bg]=maxz;
return 1;
}
if(m <=maxz)
{
num[bg]=maxz;
num[bg+1]=m;
return bg+2;//首个因子分解为bg+2个
}
else
{
s=m;
num[bg]=maxz;
getfirstfactor(maxz,s,num,bg+1);
}
}
void factorthemaxfactor(int *num,int element,int *cnum,int dsk_num )
{
int i,j;
if(element <=dsk_num)
{
for(i=0;i <element;i++)printf("%d ",num[i]);printf("\n");
*cnum+=1;
}
if(element==1)return ;
if(num[0]==1)return ;
if(num[1]==1)return ;
for(j=element-1;j>0;j--)
{
if(num[j]!=1)
{
for(i=j+2;i <=element;i++)
num[i]=num[i-1];
num[j]=num[j]-1;
num[j+1]=1;
factorthemaxfactor(num,element+1,cnum,dsk_num);
}
}
}
void main()
{
int num[1000]={0};
int m,element,n,count=0,cnum=0,dsk_num=4;
n=6;
for(m=n;m>=1;m--)
{
element=getfirstfactor(m,n,num,0);
factorthemaxfactor(num,element,&cnum,dsk_num);
}
printf("一共%d组!\n",cnum);

}
最佳答案

#include "stdafx.h"
#include<iostream>


using namespace std;


int dp[11][11]; //定义二维数组


void DP()


{
int i,j,k;

for(i=1;i<=10;i++)
dp[i][i]=dp[i][1]=1;



for(i=3;i<=10;i++)
{
for(j=2;j<i&&j<=10;j++)
{
for(k=1;k<=i-j&&k<=j;k++)
dp[i][j]+=dp[i-j][k];
}
}




}



//输出指定行的和,输出次数由输入的N决定


int _tmain(int argc, _TCHAR* argv[])
{
int m,n; int N;


DP();


cin>>N;


while(N--)


{
cin>>m>>n;


int i;


int ans=0;


for(i=1;i<=n;i++)


ans+=dp[m][i];


cout<<ans<<endl;


}


return 0;


}

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
谁帮忙看看这段程序为什么不工作?
沈阳市苏沈不锈钢制品有限公司我想知道这个在
如果爱你被拒绝,为何,心如此痛,而我真的不
成都新课改高一教科书
手机老是提示内存不足,我的电脑是win7 内存4g
请问上半年AC米兰春装的外套风衣好多钱?货号
作文《班级故事多》
天下贰点卡的问题
WOW魔纹布那个FB出的最多?
求一部电影的名字我只看着一小段?
红薯片多少钱一斤????
仙剑奇侠传3里面的所有地图
宝贝渡口儿童乐园地址在哪,我要去那里办事
同一台电脑我的摩天大楼打不开,别人的就能打
什么游戏最好玩丶
推荐资讯
丝路的图标怎么样点亮
为什么游戏时不是全屏幕?
鸿翔集团一心堂资中后西街连锁店这个地址在什
山寨s1是不是智能手机
怎么样获得Q斗
怎样可样美白
村居,古诗词
汽车的方向盘有多长
录视频的好听的背景音乐
谁知道“亲”的形近字的繁体字的代码?
如何解救此时处境!
怎么样查出话费的详细清单?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?