题目:

任务描述

本关任务:整数因子分解问题。

相关知识

大于1的正整数n可以分解为:n=x1*x2*…*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共有多少种不同的分解式。

解决思路:对于一个数,从2到n/2开始取余,如果可以取余,就进行同样的方式递归,想法比较简单

代码实现(以12为例子):

#include<iostream>
using namespace std;
int f(int score)
{     
    int num_1 = 1;
    for (int s = 2; s <= score / 2; s++)
    {
        if (score % s == 0)
            num_1 += f(score / s);
    }
    return num_1;
}

int main()
{  
    cout << f(12); 
    return 0;

}

实现解释: 传入12,此时写的num_1为记录数12*1,

                递归6进去,num_1=1为记录2*6接着递归3进去,判断结束条件为2<3/2,此时return 1 记录2*2*3 ,依次下去

注意:12*1 是递归数位12时候记录的 2*2*3是递归到2*2时候不满足2<3/2(也就是可拆分) 返回的

中途记数最后位为可拆分数,递归判断结束为不可拆分数

第一次发文,描述不清,请多见谅。

c++ 因数分解(递归)相关推荐

  1. 输出递归因数分解php,[学习笔记] Miller-Rabin质数测试 Pollard-Rho质因数分解

    Miller-Rabin质数测试 & Pollard-Rho质因数分解 考试遇见卡质因数分解的题了...活久见...毒瘤lun 于是就学了一发qaq Pollard-Rho分解质因数的话需要依 ...

  2. Python使用递归法对整数进行因数分解

    所谓因数分解,是指把一个整数变成其所有质因数相乘的形式,例如10=2*5, 39000=2*2*2*3*5*5*5*13. from random import randint def factors ...

  3. 微课|中学生可以这样学Python(例6.4):因数分解

    适用教材: 董付国,应根球.<中学生可以这样学Python>.清华大学出版社,2017. 第6章  函数 6.6  精彩例题分析与解答 例6.4  因数分解(递归法) 京东购买链接:htt ...

  4. 大数因数分解Pollard_rho 算法详解

    大数因数分解Pollard_rho 算法详解 适用范围:给你一个大数n,将它分解它的质因子的乘积的形式. P.S. 在下面的论述中会使用到Miller_rabin和快速乘法和快速幂,如果有兴趣请看另一 ...

  5. 算法设计思想(5)— 递归法

    1. 递归概念 递归 Recursion是指在函数的定义中使用函数自身的方法,直观上来看,就是某个函数自己调用自己. ​ 递归有两层含义: 递归问题必须可以分解为若干个规模较小.与原问题形式相同的子问 ...

  6. 判断某数组是不是二叉树的后序遍历序列 python递归与非递归解法

    python 递归 class Solution:def VerifySquenceOfBST(self, sequence):# write code hereif len(sequence) &l ...

  7. 翻转二叉树 c语言实现 递归 栈 队列

    前言 题目比较好理解,就是翻转二叉树 代码 c语言实现 #include<stdio.h> #include<stdlib.h> #include<string.h> ...

  8. 快速排序的递归和非递归实现 c语言版本

    代码 挖坑法 解释 选取一个关键字(key)作为枢轴,一般取整组记录的第一个数/最后一个,这里采用选取序列第一个数为枢轴,也是初始的坑位. 设置两个变量i = l;j = r;其中l = 0, r = ...

  9. LeetCode 10. Regular Expression Matching python特性、动态规划、递归

    前言 本文主要提供三种不同的解法,分别是利用python的特性.动态规划.递归方法解决这个问题 使用python正则属性 import reclass Solution2:# @return a bo ...

最新文章

  1. 电机高频注入原理_永磁同步电机新型转子位置估计误差补偿策略
  2. 独家 | Python处理海量数据集的三种方法
  3. BigDecimal类(精度计算类)的加减乘除
  4. 教程 | 以太坊智能合约编程之菜鸟教程
  5. Android——浙理体育(飞翔的红蜻蜓)训练记录上传与查询测试DEMO解决方案
  6. Android-无线连接设备调试
  7. atmega8 例程:PWM
  8. TP-Link路由器设置上网知识笔记
  9. 顶级程序员的心得 Coders at Work (III)
  10. 基于主从博弈的电热综合能源系统动态定价与能量管理 主要做的是电热综合能源系统的动态定价问题,采用是主从博弈方法
  11. 下单账号与支付账号不一致_如何申请企业支付宝账号
  12. STATA画图命令(一)
  13. wincc服务器不能创建项目,wincc不能创建和打开项目
  14. UEFI安装win10+manjaro双系统
  15. 【全局路径规划】A*算法 A* Search Algorithm
  16. 我们为什么需要仿真服务机器人?
  17. 【猿如意】中的『XMind』工具详情介绍
  18. python拼接、剪辑视频
  19. model.generate返回句子大于1时出现<unk>的情况处理
  20. 博士申请 | 香港浸会大学杨任驰老师招收大数据技术方向全奖博士生

热门文章

  1. Feature Selection详解(附带Relief、Relief-F、LVM详解)(一)
  2. 如何在excel中插入文件?Excel插入对象和附件有什么区别?(插入对象能直接显示内容,但我没显示?)
  3. mp4转换html5,html5-video – VLC:如何从mp4转换为webm
  4. Win10系统还原文件默认打开方式
  5. 必备技能06:UML类图要素及解析
  6. 记一次修改阿里云DNS解析问题
  7. 试读2-《白话C++ 练功篇》目录
  8. RIASEC World-of-Work Map 职业测评
  9. oracle connectionstring 属性尚未初始化.,ConnectionString 属性尚未初始化
  10. day1 计算机简史(概念)②