【题目描述】
给出一个正整数a,要求分解成若干个正整数的乘积,即a=a1×a2×a3×…×an,并且1<a1≤a2≤a3≤…≤an,问这样的分解的种数有多少。注意到a=a也是一种分解。

【输入】
第1行是测试数据的组数n,后面跟着n行输入。每组测试数据占1行,包括一个正整数a(1<a<32768)。

【输出】
n行,每行输出对应一个输入。输出应是一个正整数,指明满足要求的分解的种数。

【输入样例】
2
2
20
【输出样例】
1
4

分析

分析一种情况,m=20,那么共有四种情况,分别为2 * 2 * 5 、2 * 10、 4 * 5 、 20;
分解时,按题目要求保证后一个因式大于等于前一个因式。所以递归函数需要增加一个形参min,用来约束因式分解时最小因子的大小;直接搜索,从a1搜素到an,满足条件则+1 ;

#include <bits/stdc++.h>
using namespace std;
int x;
int ans;
//直接搜索,从a1搜素到an,满足条件则+1
void dfs(int a,int min) { //a为当前的乘积,min为当前的因子if(a==x) { //满足条件,递归出口ans++;return;}for(int i=min; i<=x; i++) { //因子的范围if(a*i>x)break;if(x%i==0)//可以作为x的因子dfs(a*i,i);//继续找可以满足的因子}
}
int main() {int n;cin>>n;while(n--) {ans=0;cin>>x;dfs(1,2);//因子需要 >1cout<<ans<<endl;}return 0;
}

1200:分解因数(dfs)相关推荐

  1. 信息学奥赛一本通 1200:分解因数 | OpenJudge 2.2 1751:分解因数

    [题目链接] ybt 1200:分解因数 OpenJudge 2.2 1751:分解因数 [题目考点] 1. 递归 2. 深搜 [解题思路] 解法1:递归 由于要求得到的因数分解序列必须是升序的,那么 ...

  2. 信息学奥赛一本通(1200:分解因数)

    1200:分解因数 时间限制: 1000 ms         内存限制: 65536 KB 提交数: 10230     通过数: 5869 [题目描述] 给出一个正整数aa,要求分解成若干个正整数 ...

  3. 2.2 基本算法之递归和自调用函数 1751 分解因数 python

    http://noi.openjudge.cn/ch0202/1751/ """ 2.2 基本算法之递归和自调用函数 1751 分解因数 http://noi.openj ...

  4. 【Java版oj】day31美国节日、分解因数

    目录 一.美国节日 (1)原题再现 (2)问题分析 (3)完整代码 二.分解因数 (1)原题再现 (2)问题分析 (3)完整代码 三.DFS深度优先列举所有可能的情况 一.美国节日 (1)原题再现 美 ...

  5. 分解因数 递归_递归分解WAR文件

    分解因数 递归 抽象 是否曾经需要分解WAR文件以及分解WAR文件中的所有JAR文件? 是的,我也是! 我写了ferris-war-exploder来爆炸: 一个JAR文件 一个WAR文件,它找到的每 ...

  6. Bailian2749 分解因数【递归+枚举】

    2749:分解因数 总时间限制: 1000ms 内存限制: 65536kB 描述 给出一个正整数a,要求分解成若干个正整数的乘积,即a = a1 * a2 * a3 * - * an,并且1 < ...

  7. CCF NOI1069 分解因数

    问题链接:CCF NOI1069 分解因数. 时间限制: 1000 ms  空间限制: 262144 KB 题目描述 给出一个正整数a,要求分解成若干个正整数的乘积,即a=a1*a2*a3*...*a ...

  8. 《分解因数》:质因数分解

    目录 一.题目: 二.思路: 三.代码: 一.题目: 分解因数      <分解因数>题目链接 所谓因子分解,就是把给定的正整数a,分解成若干个素数的乘积,即 a = a1 × a2 × ...

  9. 模板 2018-01-27 分解因数 分解质因数

    这里有小部分需要用到前面的素数筛, 当然没有素数筛也是OK的, 但是可能慢一点. 先是普通的分解因数, 这个函数分解出来的是不含 本身 和 1 的因子, 并且返回这些因子的个数. 好像是叫做真因子吧? ...

  10. 分解因数和求因子个数

    1.分解因数 链接:分解因数__牛客网 来源:牛客网 所谓因子分解,就是把给定的正整数a,分解成若干个素数的乘积,即 a = a1 × a2 × a3 × ... × an,并且 1 < a1 ...

最新文章

  1. python 问题不符合dcp rule_约束不遵循CVXPY中的DCP规则
  2. 国家队基金押注,国内商用车ADAS龙头进军乘用市场
  3. 3种骚操作,教你查看 Java 字节码!
  4. TCP/IP学习笔记(八)复位报文段
  5. [改善Java代码] 推荐使用序列化实现对象的拷贝
  6. python程序的name属性作用是什么_python __name__ == ‘__main__’详细解释+例子
  7. php 10进制位数保持,php 任意进制的数转换成10进制功能实例
  8. 法语写信_为我们写信:我们最热门的19个主题
  9. UE3 贴图支持及设置
  10. php+go+to,让phpstrom支持codeigniter框架实现 (GO TO )转到定义的功能
  11. 初学关键段容易忽略的问题
  12. CVPR 2018 paper list(论文列表)
  13. Typora列表段落(list paragraph)的行间距
  14. 为什么C++编程让人觉得那么难学?
  15. [转载]C#异步调用四大方法详解
  16. Linux修改的文件“修改时间”
  17. 获取Repeater中Footer/HeaderTemplate 中的控件
  18. 渗透之——Nmap+Zenmap+Amap+Zmap
  19. xp怎么设置计算机共享的打印机共享的打印机共享,Windows XP系统如何快速设置共享打印机?...
  20. 华中师范大学计算机专业有博士点吗,【考博】华中师范大学有没有计算机方面的博士点?...

热门文章

  1. 一个好的导演拍不了一场好戏--校园路-访谈戴谢宁总结(2005.5)
  2. 破解神器Hashcat使用简介
  3. 2006年元宵节前喜得贵子,真高兴,呵呵 ^_^
  4. python羊车门问题的正确解答_羊车门问题python模拟
  5. 使用EasyExcel从Excel表格读取链接地址下载文件
  6. win10 mysql8.0修改密码
  7. Chrome插件有哪些?
  8. 长短期记忆人工神经网络(LSTM)网络学习资料
  9. CAD之设置坐标原点
  10. 【转载】office2021