1200:分解因数(dfs)
【题目描述】
给出一个正整数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)相关推荐
- 信息学奥赛一本通 1200:分解因数 | OpenJudge 2.2 1751:分解因数
[题目链接] ybt 1200:分解因数 OpenJudge 2.2 1751:分解因数 [题目考点] 1. 递归 2. 深搜 [解题思路] 解法1:递归 由于要求得到的因数分解序列必须是升序的,那么 ...
- 信息学奥赛一本通(1200:分解因数)
1200:分解因数 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 10230 通过数: 5869 [题目描述] 给出一个正整数aa,要求分解成若干个正整数 ...
- 2.2 基本算法之递归和自调用函数 1751 分解因数 python
http://noi.openjudge.cn/ch0202/1751/ """ 2.2 基本算法之递归和自调用函数 1751 分解因数 http://noi.openj ...
- 【Java版oj】day31美国节日、分解因数
目录 一.美国节日 (1)原题再现 (2)问题分析 (3)完整代码 二.分解因数 (1)原题再现 (2)问题分析 (3)完整代码 三.DFS深度优先列举所有可能的情况 一.美国节日 (1)原题再现 美 ...
- 分解因数 递归_递归分解WAR文件
分解因数 递归 抽象 是否曾经需要分解WAR文件以及分解WAR文件中的所有JAR文件? 是的,我也是! 我写了ferris-war-exploder来爆炸: 一个JAR文件 一个WAR文件,它找到的每 ...
- Bailian2749 分解因数【递归+枚举】
2749:分解因数 总时间限制: 1000ms 内存限制: 65536kB 描述 给出一个正整数a,要求分解成若干个正整数的乘积,即a = a1 * a2 * a3 * - * an,并且1 < ...
- CCF NOI1069 分解因数
问题链接:CCF NOI1069 分解因数. 时间限制: 1000 ms 空间限制: 262144 KB 题目描述 给出一个正整数a,要求分解成若干个正整数的乘积,即a=a1*a2*a3*...*a ...
- 《分解因数》:质因数分解
目录 一.题目: 二.思路: 三.代码: 一.题目: 分解因数 <分解因数>题目链接 所谓因子分解,就是把给定的正整数a,分解成若干个素数的乘积,即 a = a1 × a2 × ...
- 模板 2018-01-27 分解因数 分解质因数
这里有小部分需要用到前面的素数筛, 当然没有素数筛也是OK的, 但是可能慢一点. 先是普通的分解因数, 这个函数分解出来的是不含 本身 和 1 的因子, 并且返回这些因子的个数. 好像是叫做真因子吧? ...
- 分解因数和求因子个数
1.分解因数 链接:分解因数__牛客网 来源:牛客网 所谓因子分解,就是把给定的正整数a,分解成若干个素数的乘积,即 a = a1 × a2 × a3 × ... × an,并且 1 < a1 ...
最新文章
- python 问题不符合dcp rule_约束不遵循CVXPY中的DCP规则
- 国家队基金押注,国内商用车ADAS龙头进军乘用市场
- 3种骚操作,教你查看 Java 字节码!
- TCP/IP学习笔记(八)复位报文段
- [改善Java代码] 推荐使用序列化实现对象的拷贝
- python程序的name属性作用是什么_python __name__ == ‘__main__’详细解释+例子
- php 10进制位数保持,php 任意进制的数转换成10进制功能实例
- 法语写信_为我们写信:我们最热门的19个主题
- UE3 贴图支持及设置
- php+go+to,让phpstrom支持codeigniter框架实现 (GO TO )转到定义的功能
- 初学关键段容易忽略的问题
- CVPR 2018 paper list(论文列表)
- Typora列表段落(list paragraph)的行间距
- 为什么C++编程让人觉得那么难学?
- [转载]C#异步调用四大方法详解
- Linux修改的文件“修改时间”
- 获取Repeater中Footer/HeaderTemplate 中的控件
- 渗透之——Nmap+Zenmap+Amap+Zmap
- xp怎么设置计算机共享的打印机共享的打印机共享,Windows XP系统如何快速设置共享打印机?...
- 华中师范大学计算机专业有博士点吗,【考博】华中师范大学有没有计算机方面的博士点?...