ARC116 A Odd vs Even (质因数分解,结论)
题面
有
T
T
T 组数据,每次给出一个数
N
N
N ,问
N
N
N 的所有因数(包括
1
1
1 和
N
N
N)中奇因数个数和偶因数个数的关系(“>”,“<”,还是“=”)。
N
≤
1
e
18
,
T
≤
2
e
5
N\leq 1e18,T\leq 2e5
N≤1e18,T≤2e5.
题解
如果把一个数进行质因数分解,那么我们枚举每一个质因数的出现次数(幂的大小)就可以得到所有因数。
所以固定同一个质因数的出现次数后,对应的因数个数相等(都是其它质因数最高幂次+1的乘积)。
我们还知道一个正整数为偶数当且仅当质因数分解后有 2,一个正整数为奇数当且仅当质因数分解后没有 2 。
那么就可以推出一个结论了:如果
N
N
N 的质因数分解中 2 的幂次(这个可以用
N
N
N 不断除以 2 得到)大于等于 2,说明偶因数个数至少是奇因数的两倍,偶因数大于奇因数;如果等于 1,说明偶因数个数等于奇因数;否则等于 0,说明所有因数都是奇数。
由于只需要得到 2 的幂次与 1 的关系,不太需要直到它具体有多大,所以时间复杂度
O
(
T
)
O(T)
O(T).
CODE
#include<cstdio>
#define LL long long
LL read() {
LL f = 1,x = 0;char s = getchar();
while(s < '0' || s > '9') {if(s=='-')f = -f;s = getchar();}
while(s >= '0' && s <= '9') {x=x*10+(s-'0');s = getchar();}
return f * x;
}
int main() {
int T = read();
while(T --) {
LL N = read();
int ct = 0;
while(!(N&1) && ct < 2) N >>= 1,ct ++;
if(ct == 0) printf("Odd\n");
else if(ct == 1) printf("Same\n");
else printf("Even\n");
}
return 0;
}
ARC116 A Odd vs Even (质因数分解,结论)的更多相关文章
- 【BZOJ-4514】数字配对 最大费用最大流 + 质因数分解 + 二分图 + 贪心 + 线性筛
4514: [Sdoi2016]数字配对 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 726 Solved: 309[Submit][Status ...
- [学习笔记] Miller-Rabin质数测试 & Pollard-Rho质因数分解
目录 Miller-Rabin质数测试 & Pollard-Rho质因数分解 Miller-Rabin质数测试 一些依赖的定理 实现以及正确率 Pollard-Rho质因数分解 生日悖论与生日 ...
- 关于Miller-Rabin与Pollard-Rho算法的理解(素性测试与质因数分解)
前置 费马小定理(即若P为质数,则\(A^P\equiv A \pmod{P}\)). 欧几里得算法(GCD). 快速幂,龟速乘. 素性测试 引入 素性测试是OI中一个十分重要的事,在数学毒瘤题中有着 ...
- 求n!质因数分解之后素数a的个数
n!质因数分解后P的个数=n/p+n/(p*p)+n/(p*p*p)+......直到n<p*p*p*...*p //主要代码,就这么点东西,数学真是厉害啊!幸亏我早早的就退了数学2333 do ...
- AC日记——质因数分解 1.5 43
43:质因数分解 总时间限制: 1000ms 内存限制: 65536kB 描述 已知正整数 n 是两个不同的质数的乘积,试求出较大的那个质数. 输入 输入只有一行,包含一个正整数 n. 对于60% ...
- 整数分解 && 质因数分解
输入整数(0-30)分解成所有整数之和.每四行换行一次. 一种方法是通过深度优先枚举出解.通过递归的方式来实现. #include <stdio.h> #include <strin ...
- algorithm@ 大素数判定和大整数质因数分解
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<time.h> #in ...
- POJ1365 - Prime Land(质因数分解)
题目大意 给定一个数的质因子表达式,要求你计算机它的值,并减一,再对这个值进行质因数分解,输出表达式 题解 预处理一下,线性筛法筛下素数,然后求出值来之后再用筛选出的素数去分解....其实主要就是字符 ...
- 数学概念——J - 数论,质因数分解
J - 数论,质因数分解 Time Limit:1000MS Memory Limit:32768KB 64bit IO Format:%I64d & %I64u Submit ...
随机推荐
- windows下安装和使用virtualenvwrapper-win
安装 pip安装 pip install virtualenv pip install virtualenvwrapper-win 修改默认创建环境的位置 创建环境变量 新建环境变量:WORKON_H ...
- SAP Web Dynpro-使用服务调用
创建服务调用后,功能模块可用于组件. 现在可以选择一个视图,以便在浏览器中显示数据库表的元素. 如果全局控制器不是组件控制器,则必须为所选视图的控制器输入全局控制器的使用页面. 之后,应该有该节点的映 ...
- SAP Picture Control(图片加载)
Screen display 效果 源代码 program sap_picture_demo. set screen 200. TYPE-POOLS cndp. ******************* ...
- crane:字典项与关联数据处理的新思路
前言 在我们日常开发中,经常会遇到一些烦人的数据关联和转换问题,比如典型的: 对象属性中个有字典 id,需要获取对应字典值并填充到对象中: 对象属性中有个外键,需要关联查询对应的数据库表实体,并获取其 ...
- 几百行代码实现一个 JSON 解析器
前言 之前在写 gscript时我就在想有没有利用编译原理实现一个更实际工具?毕竟真写一个语言的难度不低,并且也很难真的应用起来. 一次无意间看到有人提起 JSON 解析器,这类工具充斥着我们的日常开 ...
- Codeforces Round #804 (Div. 2)
题目链接 A The Third Three Number Problem 题意 给你一个n,让你求满足的a,b,c. 如果不存在则输出-1. 思路 显然任意a,b,c是不可能得到奇数. 只考虑偶数 ...
- Tomcat深入浅出——Servlet(二)
一.Servlet简介 Servlet类最终开发步骤: 第一步:编写一个Servlet类,直接继承HttpServlet 第二步:重写doGet方法或者doPost方法,重写哪个我说的算! 第三步:将 ...
- 静态static关键字概述和静态static关键字修饰成员变量
static关键字 概述 关于 static 关键字的使用,它可以用来修饰的成员变量和成员方法,被修饰的成员是属于类的,而不是单单是属 于某个对象的.也就是说,既然属于类,就可以不靠创建对象来调用了 ...
- idea 错误: 找不到或无法加载主类 xx.xxx.Application
原因module 里面缺少iml文件 生成iml文件方法二:(建议):刷新一下Maven Project就会自动生成.iml文件.点击下图红框标记的按钮即可 完成后就会自动生成.iml文件. 方法二: ...
- skip-host-cache skip-name-resolve
在mysql 的data 文件夹下 生成了一个.err的文件,打开发展,经常有人访问这个,服务器部署在腾讯云上. 2017-05-23 0:49:04 2996 [Warning] IP addres ...