⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 整数的划分个数及显示.cpp

📁 一些c++小程序
💻 CPP
字号:
#include<iostream.h>
const int size=20;
int path[size];
 int getlist(int m,int n,int &floor)
 {
	 int sum=0;
	 if(m<1||n<1)
		 return sum;
	  else
		  if(n==1)
		  {
			  for(int j=0;j<floor;j++)
				 cout<<path[j]<<"+";
			         for(int i=0;i<m-1;i++)
				       cout<<"1+";
			              cout<<1;
				          sum++;
						   cout<<",";
		  }
		  else
			  if(n>=m)
			  {	  
				  for(int j=0;j<floor;j++)
				   cout<<path[j]<<"+";
					 sum++;
				     cout<<m;
					  cout<<",";
			  }
			  else
				  if(m>n&&n>1)
				  {
					  int min=m-n<n ? m-n:n;
					      path[floor]=n;
							    floor++;
					    for(int i=min;i>=1;i--)
						{  
							int flag=floor;//保存起点
							       sum+=getlist(m-n,i,floor);
								     floor=flag;//恢复起点
						}
				  }
				  return sum;
 }
int  getlistsum(int m)
{
	int sum=0,floor;
	  for(int i=1;i<=m;i++)
	  {
		  floor=0;
		  int temp=getlist(m,i,floor);
		    cout<<'\b'<<";"<<endl;//注意'\b'的作用!
		  sum+=temp;
	  }
	  return sum;
}
 void  main()
 {  
	 int n;
	   cout<<"请输入一个整数(不要太大)!"<<endl;
	     cin>>n;
	      cout<<"p("<<n<<")="<<getlistsum(n)<<endl;
 }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -