奇♂妙拆分


题目描述

在遥远的米♂奇♂妙♂妙♂屋里住着一群自然数,他们没事就喜欢拆♂开自己来探♂究。现在他们想知道自己最多能被拆分成多少个不同的自然数,使得这些自然数相乘的值等于被拆分的数。

输入描述:

第 1 1 1行输入一个整数 T T T,代表有 T T T组数据。
第 2 − T + 1 2-T+1 2−T+1行,每行输入一个整数n,代表需要被拆分的数。
数据保证: 0 < T ≤ 100 , 0 < n ≤ 1 0 9 0<T≤100,0<n≤10^9 0<T≤100,0<n≤109。

输出描述:

输出一共 T T T行,第i行输出一个整数,代表第i行输入的 n n n最多可以被拆分成多少个不同的自然数。

示例1

输入

3
1
4
12

输出

1
2
3

示例2

输入

1
114514

输出

4

说明

114514 114514 114514可以被拆分为: 1 ∗ 2 ∗ 31 ∗ 1847 1*2*31*1847 1∗2∗31∗1847

解决思路

总结结论
每个数不同且最多拆分——从小到大试除法
每个数不同且最少拆分——从大到小试除法

已知条件
整数 n n n,需计算 n n n最多拆分几个不同的整数的乘积。
思路里程
因为要保证每个数不同且最多拆分,所以考虑贪心。
为了保证每个数不同且最多拆分,可以从小到大进行试除法,并且需特判可能存在大于 n \sqrt n n ​的因子是否可以造成贡献。
实现过程
直接从 1 1 1枚举到 n \sqrt n n ​,如果说当前枚举的数整除 n n n的话,就除掉,计算一次贡献,并且放到 m a p map map里。
最后特判一下 n n n,如果 n n n没出现在 m a p map map里,贡献加一。

代码

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<unordered_map>
using namespace std;typedef long long ll;
const int N = 1e6 + 10;int l[N], r[N];int main() {int T; cin >> T;while (T--) {unordered_map<int, bool> mp;int n; cin >> n;int ans = 0;for (int i = 1; i <= n / i; i++) {if (n % i == 0) {ans++;n /= i;mp[i] = 1;}}if (!mp[n]) ans += 1;cout << ans << endl;}return 0;
}

牛客 · 奇♂妙拆分相关推荐

  1. 牛客14709 奇♂妙拆分 枚举

    链接:https://ac.nowcoder.com/acm/problem/14709 来源:牛客网 题目描述 在遥远的米♂奇♂妙♂妙♂屋里住着一群自然数,他们没事就喜欢拆♂开自己来探♂究.现在他们 ...

  2. NC14709 奇♂妙拆分

    题目链接 题目链接 题意 在遥远的米♂奇♂妙♂妙♂屋里住着一群自然数,他们没事就喜欢拆♂开自己来探♂究.现在他们想知道自己最多能被拆分成多少个不同的自然数,使得这些自然数相乘的值等于被拆分的数. 思路 ...

  3. 牛客题霸 最少素数拆分 C++题解/答案

    牛客题霸 最少素数拆分 C++题解/答案 题目描述 牛牛刚刚学习了素数的定义,现在给定一个正整数N,牛牛希望知道N最少表示成多少个素数的和. 素数是指在大于1的自然数中,除了1和它本身以外不再有其他因 ...

  4. 牛客算法周周练2 B Music Problem(DP,抽屉原理,二进制拆分)

    链接:https://ac.nowcoder.com/acm/contest/5203/B 来源:牛客网 题目描述 Listening to the music is relax, but for o ...

  5. 牛客练习赛31 B 赞迪卡之声妮莎与奥札奇(逻辑+博弈) B

    链接:https://ac.nowcoder.com/acm/contest/218/B 来源:牛客网 赞迪卡之声妮莎与奥札奇 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 2621 ...

  6. 2020牛客国庆集训派对day3 I.Rooted Tree(哈代-拉马努金拆分数列)

    2020牛客国庆集训派对day3 I.Rooted Tree(哈代-拉马努金拆分数列) 题目 https://ac.nowcoder.com/acm/contest/7830/I 题意 给你n个点,问 ...

  7. 牛客网 2018校招真题 爱奇艺 最后一位

    Description 牛客网 2018校招真题 最后一位 Solving Ideas 二分查找 Solution import java.io.BufferedReader; import java ...

  8. 大数据开发(牛客)面试被问频率最高的几道面试题

    Hadoop 一.HDFS文件写入和读取过程 可灵活回答: 1)HDFS读写原理(流程) 2)HDFS上传下载流程 3)讲讲(介绍下)HDFS 4)HDFS存储机制 问过的一些公司: 阿里×3,阿里社 ...

  9. 2023牛客寒假算法基础集训营4_20230130「向上取整」「夹逼dp」「lowbit科学+树状数组性质」「搜索」「倍增跳表」「莫队」

    6/13 教育场是有被教育到.(预计会鸽几题. 已过非太水的题们 //B //https://ac.nowcoder.com/acm/contest/46812/B//小构造小数学#include & ...

最新文章

  1. usaco Network of Schools
  2. CentOS 7 命令
  3. 大年初三,过年期间最让你受不了的习俗有哪些?
  4. ad域时间源配置_Windows网络服务与配置管理之活动目录学习
  5. Excel VBA中的等价(Eqv)和蕴含(Imp)
  6. 解决SpringMVC中的 Could not find acceptable represent
  7. 当我们在谈深度学习时,到底在谈论什么(一)--转
  8. python3设置编码背景颜色_在pythongtk3中设置条目背景颜色并设置回defau的最佳方法...
  9. Linux:cpufreq
  10. 用C语言实现:打印100-200之间的素数。
  11. UML Use Case之间的各种关系
  12. 局域网 广域网 IP TCP UDP
  13. CSS3浏览器前缀,背景大小,位置,渐变以及过渡效果
  14. 计算机夏令营英语面试,2016北航计算机夏令营的经验
  15. EOS区块链的通信模型
  16. 【火车头采集】如何采集一个网页的多张图片并且下载
  17. Primo Ramdisk配置教程
  18. 计算机的历史发展和应用
  19. 阿里面试其实也没想象中的那么难,秋招提前批4面拿到21K
  20. mimic-iii数据库说明-01数据库介绍

热门文章

  1. 打印选课学生名单 (25分)
  2. HKEY_LOCAL_MACHINE和HKEY_CURRENT_USER开机启动程序的区别
  3. linux 搭建 虚拟专用网络 (pptpd )
  4. 华为RH2288V3服务器硬盘大于2T的处理办法
  5. 2023 软件库APP下载系统源码 附卡密会员插件
  6. 怎么都2200年了,还有人不愿意交社保???
  7. 分布式系统生成唯一主键
  8. webpack看这一篇就够了
  9. [二级域名映射端口][Ngins端口映射]腾讯云二级域名映射端口
  10. 笔记本的网络出现红叉,网络连接不上,网络不可用