您的位置:首页 > 其它

一些递归程序

2015-04-15 21:24 169 查看
代码一:#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;
}

(全文完)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: