递归算法编程整数因子分解问题的递归算法

新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正

    整数因子分解问题 

    

    ´问题描述: 

    

    大于1 的正整数n 可以分解为:n=x1 *x 2*…*xm 。                            

    

    例如,当n= 12 时,共有8 种不同的分解式: 

    

    12= 12; 

    

    12=6*2; 

    

    12=4*3; 

    

    12=3*4; 

    

    12=3*2*2; 

    每日一道理
如果你们是蓝天,我愿做衬托的白云;如果你们是鲜花,我愿做陪伴的小草;如果你们是大树,我愿做点缀的绿叶……我真诚地希望我能成为你生活中一个欢乐的音符,为你的每一分钟带去祝福。

    

    12=2*6; 

    

    12=2*3*2; 

    

    12=2*2*3。 

    

    ´编程任务: 

    

    对于给定的正整数n,编程盘算n 共有多少种不同的分解式。 

    

#include <stdio.h>
#include <stdlib.h>

int q=0;
void slove(int n){
	int i;
	if(n==1){
		q++;
		return;
	}else{
		for(i=2;i<=n;i++){
			if(n%i==0){
                //q++;
				slove(n/i);
			}
		}
	}
}

int main(){
	int num;
	printf("请输入一个数:\n");
	scanf("%d",&num);
	slove(num);
    printf("%d",q);
  return 0;
}

    递归算法和编程

文章结束给大家分享下程序员的一些笑话语录: 古鸽是一种搜索隐禽,在中国快绝迹了…初步的研究表明,古鸽的离去,很可能导致另一种长着熊爪,酷似古鸽,却又习性不同的猛禽类——犤毒鸟

--------------------------------- 原创文章 By
编程和输入
---------------------------------

posted @ 2013-06-22 22:49  xinyuyuanm  阅读(1319)  评论(0编辑  收藏  举报