正整数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 基于时间轮算法实现了定时消息!
970 1
弥补延时消息的不足,RocketMQ 基于时间轮算法实现了定时消息!
|
芯片
计算机组成原理实验二 存储器实验(上)
计算机组成原理实验二 存储器实验
1284 0
|
6月前
|
canal 编解码 运维
SIGCOMM 2024 | 洛神云网络学术活动与论文分享
SIGCOMM 2024 | 洛神云网络学术活动与论文分享
324 6
|
算法 Oracle Java
Java字符串拼接技术演进及阿里巴巴的贡献
本文主要讲述了Java字符串拼接技术的演进历程,以及阿里巴巴贡献的最新实现 PR 20273。
320 12
|
存储 C++
【C++】Visual Studio C++ 配置并使用gtest(不好用你捶我)
【C++】Visual Studio C++ 配置并使用gtest(不好用你捶我)
|
SQL DataWorks 关系型数据库
DataWorks产品使用合集之如何配置MySQL数据源
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
存储 安全 Linux
深入Linux进程内核:揭开进程工作原理的神秘面纱
深入Linux进程内核:揭开进程工作原理的神秘面纱
499 0
|
Kubernetes Linux Docker
如何保存 / 同步多架构容器 Docker 镜像
如何保存 / 同步多架构容器 Docker 镜像
|
安全 开发工具 UED
告别验证码烦恼,轻松完成文字点选验证
文字点选验证码,作为一种创新的验证方式,正在逐渐取代传统的输入文字或数字的验证方式,为用户带来了更简单、直观的验证体验。它通过点击包含特定文字或物体的图片来完成验证,摆脱了繁琐的输入过程,让用户告别验证码的烦恼。
|
机器学习/深度学习 人工智能 算法
Python与机器学习:入门和常用库介绍
机器学习是人工智能领域的一个重要分支,它允许计算机系统从数据中学习并自动改进。Python已经成为机器学习的主要编程语言之一,因为它具有丰富的库和工具,使得机器学习任务变得更加容易。本文将为你提供一个关于如何入门机器学习以及Python中常用机器学习库的概述。