码迷,mamicode.com
首页 > 其他好文 > 详细

一些递归程序

时间:2015-04-15 23:29:12      阅读:154      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!