首页 > 其他 > 详细

一些递归程序

时间:2015-04-15 23:27:06      阅读:231      评论:0      收藏:0      [点我收藏+]

代码一:

#include<iostream>
using namespace std;
void ten_to_two(int num);
int main()
{
	int num=10;
	ten_to_two(num);
	return 0;
} 
void ten_to_two(int num)
{
	if(num!=0){
		int m=num%2;
		num=num/2;
		ten_to_two(num);
		cout<<m;
	}
}
代码二:(二进制的递归算法)

#include <iostream>
using namespace std;
int leihe(int);
float Multiply(int);
int main()
{
	int num=4;
	cout<<leihe(100)<<endl;
	cout<<"n!="<<Multiply(num)<<endl;
	return 0;
}
int leihe(int num)//累加的递归 
{
	if(num!=0)
		return leihe(num-1)+num;	  
}
float Multiply(int num)
{
	//if(num<0) cout<<"错误";		
	if(num==1||num==0)
		 return 1;
	else return (Multiply(num-1)*num);	 
} 
代码三:(分解整数递归算法)

/*分解数字*/
#include <iostream>
using namespace std;
void resolve(int n);

int main()
{
	int m=0;
	cin>>m;
	resolve(m);
	return 0;
}
void resolve(int n)
{
	if(n!=0){
		int m=n%10;
		n=n/10;
		resolve(n);
		cout<<m<<endl;
	}	
}

代码四:(分解质因子的递归算法)

#include <iostream>
using namespace std;

void prime_number(int num, int n)
{
    if(num >=n)
    {
        while(num % n)  n++; //找到一个质因数
        num /= n; //除以这个质因数
        if(num>=n)
        cout<<n<<"*"; //打印这个质因数
 		else cout<<n; 
        prime_number(num,n);
    }
    else
    	cout<<endl;
}
int main()
{
    int n,m;
    cin>>n>>m;
    for(int i=n;i<=m;i++){
    	cout<<i<<"=";
    	prime_number(i,2);
    }		
    return 0;
}

(全文完)

一些递归程序

原文:http://blog.csdn.net/confidence_surmount/article/details/45065121

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!