C - Sigma Function LightOJ - 1336 (数论)
一个让人脑洞大开的题。
题目大意比较简单,询问[1,n]有多少个数其因子和为偶数。
因子分解定理中求因子和的公式是
f(n)=(1+p1+p1^2+p1^3+...+p1^a1)(1+p2+p2^2+...+p2^a2)....
如果让因子和为偶数,首先我们看一下两个数相乘怎么才能得到偶数:
1 even*even=even
2 even*odd =even
3 odd*even =even。
会有三种情况,但是如果要得到奇数只需要odd*odd=odd,所以我们不妨求因子和为奇数的情况。
即让(1+pi+pi^2+...+pi^ai)为奇数,也就是让(pi+pi^2+...+pi^ai)为偶数。这里的pi是素数,在素数中,只有2是偶数,其余全部是奇数。
首先假设一个数x是奇数,也质因子中就是不含有2。要让(1+pi+pi^2+...+pi^ai)全为奇数,只需要让(pi+pi^2+...+pi^ai)为偶数,只要偶数个奇数相加才会出现奇数所以我们的ai应该是偶数才可以。又因为x=p1^a1*p2^a2*...=(p1^(a1/2)*p2^(a2/2)...)^2,而p1^(a1/2)*p2^(a2/2)...又可以构成一个新的数c,所以x=c^2,所以x应该是一个平方数。
然后如果x是个偶数,也几就是质因子中含有2。2是一个偶数,应该让它出现奇数次(假设为d次)才行,
d=d1+1,那么d1一定是个偶数,所以x=2^(d1+1)*(p1^(a1/2)*p2^(a2/2)...)^2=2*(2^(d1/2)*p1^(a1/2)*p2^(a2/2)...)^2。所以x=2*(c^2)。
所以我们只要计算这俩x的个数就行了。。。。
code:
#include<bits/stdc++.h>
using namespace std; int main(){
int t;
cin>>t;
for(long long i=;i<=t;i++){
long long n;
cin>>n;
long long sum=;
sum+=sqrt(n);
sum+=sqrt(n/(long long ));
printf("Case %d: %lld\n",i,n-sum);
}
return ;
}
C - Sigma Function LightOJ - 1336 (数论)的更多相关文章
- Sigma Function LightOJ - 1336 (约数和为奇数)
题意: 求1-n中约数和为偶数的数的个数 记住一个定理:...平方数 及其 平方数的2倍 的约数和为奇数 then....减啦 证明: ....我jiao着人家写的很详细,so 看看人家写的吧! 转 ...
- Sigma Function (LightOJ - 1336)【简单数论】【算术基本定理】【思维】
Sigma Function (LightOJ - 1336)[简单数论][算术基本定理][思维] 标签: 入门讲座题解 数论 题目描述 Sigma function is an interestin ...
- LightOJ - 1336 - Sigma Function(质数分解)
链接: https://vjudge.net/problem/LightOJ-1336 题意: Sigma function is an interesting function in Number ...
- LightOJ 13361336 - Sigma Function (找规律 + 唯一分解定理)
http://lightoj.com/volume_showproblem.php?problem=1336 Sigma Function Time Limit:2000MS Memory L ...
- 【LightOJ1336】Sigma Function(数论)
[LightOJ1336]Sigma Function(数论) 题面 Vjudge 求和运算是一种有趣的操作,它来源于古希腊字母σ,现在我们来求一个数字的所有因子之和.例如σ(24)=1+2+3+4+ ...
- 1336 - Sigma Function
1336 - Sigma Function PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB S ...
- LightOJ1336 Sigma Function(约数和为偶数的个数)
Sigma Function Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu Submit ...
- LightOJ1336 Sigma Function —— 质因子分解、约数和为偶数
题目链接:https://vjudge.net/problem/LightOJ-1336 1336 - Sigma Function PDF (English) Statistics Forum ...
- Uva 11395 Sigma Function (因子和)
http://acm.hust.edu.cn/vjudge/contest/view.action?cid=109329#problem/C 题目在文末 题意:1~n (n:1~1012)中,因子 ...
随机推荐
- ubuntu 下python出现pkg: error processing package *python* 解决之道
1.linux有些自带程序很多是python写的,自带的python2也最好不要升级,不然会有很多问题 2.如果遇到 pkg: error processing package *python* (- ...
- 从源码学习Java并发的锁是怎么维护内部线程队列的
从源码学习Java并发的锁是怎么维护内部线程队列的 在上一篇文章中,凯哥对同步组件基础框架- AbstractQueuedSynchronizer(AQS)做了大概的介绍.我们知道AQS能够通过内置的 ...
- word加上尾注之后参考文献下面的横线去除
Word 尾注上面的横线叫“××分隔符”,去掉的步骤是: 1. 先“视图”——“普通视图”: 2. 进入“引用”——“脚注”——“显示备注”: 3. 窗口下面出现了“尾注”,点击下拉菜单“所有尾注”那 ...
- Go语言库系列之flag
背景 终端(命令行)操作是程序员的必备技能,但是你知道怎么通过golang制作出如下命令吗? $ flag girl -h Usage of girl: -height int 身高 (default ...
- Jmeter接口测试之参数化(十)
在接口测试中,某些时候一些场景会使用到参数化的场景,参数化简单的说就是同一个请求需要不同的数据,比如在性能测试中需要并发多个用户的场景,这样的目的是为了模拟真实的用户场景,需要模拟不同的账号,这里就需 ...
- 大O 表示法
大O表示法 指出了算法有多快.例如,假设列表包含n个元素.简单查找需要检查每个元素,因此需要执行n次操作.使用大O表示法,这个运行时间为O(n).单位秒呢?没有——大O表示法指的并非以秒为单位的速度. ...
- iOS 性能优化点
用 ARC 管理内存 在正确的地方使用 reuseIdentifier 尽量把 views 设置为完全不透明 如果你有透明的 Views 你应该设置它们的 opaque(不透明)属性为 YES.例如一 ...
- 在Centos7下搭建大数据环境,即Zookeeper+Hadoop+HBase
1. 所需软件下载链接(建议直接复制链接到迅雷下载更快): ①hadoop-2.7.6.tar.gz: wget http://mirrors.tuna.tsinghua.edu.cn/apache/ ...
- SpringBoot中常见的错误
数据源配置问题 原因 spring boot默认会加载org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration类, ...
- Gin框架04:趣谈参数绑定与校验
导读 在第二节,我们学习了Gin框架的路由定义与参数接收,今天应一位同学的要求,来讲解一下参数的绑定与校验. 为什么校验参数? 本不必抛出这个问题的,但顾及到初出茅庐的同学,这里解释一下. 假设做一个 ...