程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 整數因子分解問題的遞歸算法

整數因子分解問題的遞歸算法

編輯:C++入門知識

整數因子分解問題
´問題描述:
大於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 共有多少種不同的分解式。


[cpp]
#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; 

#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;
}

 

\

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved