正整数n不同分解式的个数(DFS)

简介: 正整数n不同分解式的个数(DFS)

对于大于1的正整数n,可以分解为n=x1* x2 …… xm,其中xi>=2。例如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的不同分解式的个数。(来源于《算法设计与分析(第2版)李春葆》)


输入格式:

输入一个正整数n


输出格式:

输出1个正整数,表示n的不同分解式的个数


输入样例:

12


输出样例:

8


#include <iostream>
using namespace std;
int cnt;
int dfs(int n)
{
    if(n == 1) cnt ++;
    for (int i = 2; i <= n; i ++ )
        if(n % i == 0)
            dfs(n / i);
    return cnt;
}
int main()
{
    int n;
    cin >> n;
    cout << dfs(n) << endl;
    return 0;
}
目录
相关文章
|
消息中间件 算法 Java
弥补延时消息的不足,RocketMQ 基于时间轮算法实现了定时消息!
弥补延时消息的不足,RocketMQ 基于时间轮算法实现了定时消息!
1015 1
弥补延时消息的不足,RocketMQ 基于时间轮算法实现了定时消息!
|
芯片
计算机组成原理实验二 存储器实验(上)
计算机组成原理实验二 存储器实验
1305 0
|
JavaScript 前端开发 安全
|
Oracle Java 应用服务中间件
地图服务器GeoServer的安装与配置
地图服务器GeoServer的安装与配置
627 0
|
SQL DataWorks 关系型数据库
DataWorks产品使用合集之如何配置MySQL数据源
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
人工智能 容器
子数组的解释与专题
子数组的解释与专题
366 0
|
Kubernetes Linux Docker
如何保存 / 同步多架构容器 Docker 镜像
如何保存 / 同步多架构容器 Docker 镜像
|
传感器 存储 监控
什么是智慧工地?智慧工地管理平台有哪些功能?
智慧工地的智能化现场信息管理,减少人力物力的投入,加快了施工进度,能够缩短工期,提升经济效益。
4419 3
|
存储 安全 Linux
深入Linux进程内核:揭开进程工作原理的神秘面纱
深入Linux进程内核:揭开进程工作原理的神秘面纱
522 0
|
安全 开发工具 UED
告别验证码烦恼,轻松完成文字点选验证
文字点选验证码,作为一种创新的验证方式,正在逐渐取代传统的输入文字或数字的验证方式,为用户带来了更简单、直观的验证体验。它通过点击包含特定文字或物体的图片来完成验证,摆脱了繁琐的输入过程,让用户告别验证码的烦恼。