分解因数

GitHub跳转原题关系图返回列表

题意与原解析均从本地 OpenJudge 缓存迁移。

OJ: noi_openjudge

题目 ID: ch0202-1751

难度:未知

标签:

日期: 2026-07-30 23:01

题意

完整题面见同目录的 problem.md

思路

代码

cpp
#include <cstdio>
#include <cmath>
int n;
int cnt = 0;
void dfs(int f,int a){
    int i,end= (int)sqrt(a);
    for(i=f;i<=end;i++){
        if( a % i ==0){
            int ret = a / i;
            if ( ret >= i){
                cnt++;
                dfs(i,ret);
            }
        }
    }
}
int main(){
    int i,t;
    scanf("%d",&n);
    for (i=1;i<=n;i++){
        scanf("%d",&t);
        cnt = 0;
        dfs(2,t);
        printf("%d\n",cnt+1);
    }
    return 0;
}

复杂度

总结