整數因子分解問題
´問題描述:
大於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;
}