OpenJudge | 分解因数

总时间限制: 1000ms 内存限制: 65536kB

描述

给出一个正整数a,要求分解成若干个正整数的乘积,即a = a1 * a2 * a3 * ... * an,并且1 < a1 <= a2 <= a3 <= ... <= an,问这样的分解的种数有多少。注意到a = a也是一种分解。

输入

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

输出

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

样例输入

cpp 复制代码
2
2
20

样例输出

cpp 复制代码
1
4

Code

cpp 复制代码
#include <bits/stdc++.h>

using namespace std;

int f(int num, int begin) {
  int res = 0;
  if(num == 1) return 1;
  for(int i = begin; i <= num; i++) {
    if(num % i == 0) res += f(num/i, i);
  }
  return res;
}

int main() {
  int n, a, res;
  cin >> n;
  for(int i = 1; i <= n; i++) {
    cin >> a;
    res = f(a, 2);
    cout << res << endl;
  }
}
相关推荐
啊吧啊吧abab几秒前
二分查找与二分答案
c++·算法·二分
郝学胜-神的一滴几秒前
Effective Modern C++ 条款37:使std::thread在所有路径最后都不可结合
开发语言·c++·程序人生·多线程·并发·std
AC赳赳老秦3 分钟前
2026 智能制造趋势:DeepSeek 助力“黑灯”工厂运营,实现生产流程自动化
网络·数据结构·算法·安全·web安全·prometheus·deepseek
流云鹤7 分钟前
2026牛客寒假算法基础集训营6(K H G B A)
算法
程序员酥皮蛋8 分钟前
hot 100 第三十题 30. 两两交换链表中的节点
数据结构·算法·leetcode·链表
寻寻觅觅☆10 分钟前
东华OJ-基础题-131-8皇后·改(C++)
c++·算法·深度优先
程序员徐师兄18 分钟前
基于 Python 深度学习的电影评论情感分析算法
python·深度学习·算法·电影情感分析算法·评论情感分析
ShineWinsu31 分钟前
对于C++中list的详细介绍
开发语言·数据结构·c++·算法·面试·stl·list
_OP_CHEN32 分钟前
【算法提高篇】(三)线段树之维护更多的信息:从基础到进阶的灵活运用
算法·蓝桥杯·线段树·c/c++·区间查询·acm/icpc·信息维护
mjhcsp33 分钟前
C++Lyndon 分解超详解析
c++·算法·lyndon