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;
  }
}
相关推荐
旖旎夜光7 小时前
【C++ 基础入门】类和对象(上):封装、对象模型与 this 指针
开发语言·c++·笔记·学习
小超人诞生日记7 小时前
C++ 智能指针的使用及其原理详解
c++·算法
akinggw8 小时前
libagentcore - 一个基于c++的AI多agent系统升级到2.0版本
开发语言·jvm·c++
繁星蓝雨9 小时前
C++设计原理———多重继承(虚基类、菱形继承、委托、重命名、基类和成员初始化)
c++·委托·多重继承·mi·显式初始化列·虚基类·对象布局
lisw059 小时前
互联网上的数据结构可视化!
数据结构·信息可视化
旖旎夜光9 小时前
【C++ 基础入门】命名空间、输入输出、缺省参数与函数重载
开发语言·c++·笔记·学习
扶尔魔ocy11 小时前
【QT入门到晋级】用开源的自定义控件开发
c++·qt·自定义控件
AiNightVision11 小时前
无人机夜视模块如何选择?——从参数指标到系统集成的完整选型指南
人工智能·算法·计算机视觉·车载系统·无人机·视频·智能硬件
牧羊人.33311 小时前
卷积神经网络之VGG
人工智能·深度学习·神经网络·算法·cnn