CODE[VS] 3164 质因数分解

题目描述 Description

(多数据)给出t个数,求出它的质因子个数。

数据没坑,难度降低。

输入描述 Input Description

第一行 t

之后t行 数据

输出描述 Output Description

t行 分解后结果(质因子个数)

样例输入 Sample Input

2

11

6

样例输出 Sample Output

1

2

数据范围及提示 Data Size & Hint

(样例解释)11自己本身是一个质数,所以计入其中。

顺便提示:t<=100000。每个数小于long long unsigned 呵呵

刚刚没忍住,去看了丁丁当年好声音的辛德瑞拉,太好听了。

还有毛晓彤前阵子在跨界歌王上的辛德瑞拉,哇,没想到没想到哇。

加油,好好爱自己,不要理那些流言蜚语。

数学好题啊。

刚开始确实想到唯一分解定理了,

不过想cha pi了。

zz的想成要么一个要么两个,质数一个,其他都俩了、、

哇塞,这样居然还能过俩点。

下面看ac代码:

 1 #include<iostream>
 2 #include<cstdio>
 3 #include<cmath>
 4 #include<algorithm>
 5 #include<cstring>
 6 using namespace std;
 7
 8 long long n,a,ans;
 9
10 int main()
11 {
12     scanf("%lld",&n);
13     for(int i=1;i<=n;++i)
14     {
15         ans=0;
16         scanf("%lld",&a);
17         for(long long j=2;j<=sqrt(a);++j)
18             while(a%j==0)
19             {
20                 a/=j;
21                 ans++;
22             }
23         if(a!=1) ans++;
24         printf("%d\n",ans);
25     }
26     return 0;
27 }

原文地址:https://www.cnblogs.com/Mary-Sue/p/9168616.html

时间: 2024-10-15 02:56:10

CODE[VS] 3164 质因数分解的相关文章

3164 质因数分解

3164 质因数分解 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 黄金 Gold 题解 查看运行结果 题目描述 Description (多数据)给出t个数,求出它的质因子个数. 数据没坑,难度降低. 输入描述 Input Description 第一行 t 之后t行 数据 输出描述 Output Description t行 分解后结果(质因子个数) 样例输入 Sample Input 2 11 6 样例输出 Sample Output 1 2 数据范围及提示 Data

codevs 3164 质因数分解

3164 质因数分解 #include<iostream> #include<cstdio> #include<cstring> #include<queue> #include<stack> #include<cmath> using namespace std; int T; int main() { scanf("%d",&T); for(int i=1;i<=T;i++){ long long

【BZOJ2227】【ZJOI2011】看电影 [组合数学][质因数分解]

看电影 Time Limit: 10 Sec  Memory Limit: 259 MB[Submit][Status][Discuss] Description 到了难得的假期,小白班上组织大家去看电影.但由于假期里看电影的人太多,很难做到让全班看上同一场电影,最后大家在一个偏僻的小胡同里找到了一家电影院.但这家电影院分配座位的方式很特殊,具体方式如下: 1. 电影院的座位共有K个,并被标号为1…K,每个人买完票后会被随机指定一个座位,具体来说是从1…K中等可能的随机选取一个正整数,设其为L.

【BZOJ-4514】数字配对 最大费用最大流 + 质因数分解 + 二分图 + 贪心 + 线性筛

4514: [Sdoi2016]数字配对 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 726  Solved: 309[Submit][Status][Discuss] Description 有 n 种数字,第 i 种数字是 ai.有 bi 个,权值是 ci. 若两个数字 ai.aj 满足,ai 是 aj 的倍数,且 ai/aj 是一个质数, 那么这两个数字可以配对,并获得 ci×cj 的价值. 一个数字只能参与一次配对,可以不参与配对. 在

浅谈质因数分解

浅谈质因数分解 ->part 1: 算数基本定理: 任何一个大于1的正整数都能唯一分解为有限个质数的乘积,可写作: \[N=\prod_{i=1}^m p_i^ {c_i}\] 其中\(c_i\)都是正整数,\(p_i\)都是质数,且满足\(p_1<p_2<-<p_m\) ->part 2: 分解方法: 试除法 结合质数判定的"试除法"和质数筛选的"\(Eratosthenes\) 筛法",我们可以扫描 \(2-\sqrt N\)的每个

Codevs 1313 质因数分解

1313 质因数分解 题目描述 Description 已知正整数 n是两个不同的质数的乘积,试求出较大的那个质数 . 输入描述 Input Description 输入只有一行,包含一个正整数 n. 输出描述 Output Description 输出只有一行,包含一个正整数p,即较大的那个质数. 样例输入 Sample Input 21 样例输出 Sample Output 7 #include<iostream> #include<cstdio> #include<cm

HDU 3988 n!质因数分解

Harry Potter and the Hide Story Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 2324    Accepted Submission(s): 569 Problem Description iSea is tired of writing the story of Harry Potter, so, l

HDU 1695 GCD 欧拉函数+容斥原理+质因数分解

链接:http://acm.hdu.edu.cn/showproblem.php?pid=1695 题意:在[a,b]中的x,在[c,d]中的y,求x与y的最大公约数为k的组合有多少.(a=1, a <= b <= 100000, c=1, c <= d <= 100000, 0 <= k <= 100000) 思路:因为x与y的最大公约数为k,所以xx=x/k与yy=y/k一定互质.要从a/k和b/k之中选择互质的数,枚举1~b/k,当选择的yy小于等于a/k时,可以

求n!质因数分解之后素数a的个数

n!质因数分解后P的个数=n/p+n/(p*p)+n/(p*p*p)+......直到n<p*p*p*...*p //主要代码,就这么点东西,数学真是厉害啊!幸亏我早早的就退了数学2333 do { n/=m; w+=n; }while(n);