递归算法编程整数因子分解问题的递归算法
新手发帖,很多方面都是刚入门,有错误的地方请大家见谅,欢迎批评指正
整数因子分解问题
´问题描述:
大于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
编程和输入
---------------------------------