D - Sigma Function 1~n内有多少个约数和为偶数
/**
题目:D - Sigma Function
链接:https://vjudge.net/contest/154246#problem/D
题意:求1~n内约数和为偶数的数的个数。
思路:一个数的约数和为那个数的每个素因子的等比和相乘。如题目所给公式就是等比和化简之后的式子。
那么要判断一个数约数和是否为偶数,可以通过观察它的各个素因子等比和来判断。如果存在某个素因子的等比和为偶数。
那么这个约数和肯定是偶数。否则为奇数。
素因子只有2是偶数,其他都是奇素数。 含素因子2的等比和一定为奇数。其他都是奇素数,只有奇数次方,等比和才是偶数。(未化简之前的式子更好用来判断奇偶)
为了更好处理,求所有奇数约数和的个数。然后总的减去即可得偶数约数和的个数。
奇数约数和:
1,如果素因子不含2,那么肯定是一个平方数。各个素因子次方为偶数。
2,如果素因子含2,那么仍然是与2的若干次方相乘的那个数必须是平方数,他们的乘积是奇数约数和。 于是:假定这里的平方数不再包含2这个素因子。
2^0 * 平方数 为奇数约数和
2^1 * 平方数
2^2 * 平方数
2^3 * 平方数
.
.
2^e * 平方数 观察发现。2^2 * 平方数其实已经包含在2^0 * 平方数里面了;
2^3 * 平方数也包含在2^1 *平方数里面了。实质上把2^2转移到那个平方数里面了。 因此只要考虑 一个平方数,以及2*一个平方数 这两种情况都是奇数约数和,且不会重复因为一个2*平方数结果肯定不是平方数。 */
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int maxn = 1e6+;
ll n;
int main()
{
int T, cas=;
cin>>T;
while(T--)
{
scanf("%lld",&n);
ll ans = (ll)sqrt(n/)+(ll)sqrt(n);///开根号可能有浮点数误差,有时候要特别处理。
printf("Case %d: %lld\n",cas++,n-ans);
}
return ;
}
D - Sigma Function 1~n内有多少个约数和为偶数的更多相关文章
- 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)中,因子 ...
- LightOJ1336 Sigma Function(约数和为偶数的个数)
Sigma Function Time Limit:2000MS Memory Limit:32768KB 64bit IO Format:%lld & %llu Submit ...
- 【LightOJ1336】Sigma Function(数论)
[LightOJ1336]Sigma Function(数论) 题面 Vjudge 求和运算是一种有趣的操作,它来源于古希腊字母σ,现在我们来求一个数字的所有因子之和.例如σ(24)=1+2+3+4+ ...
- Sigma Function (LightOJ - 1336)【简单数论】【算术基本定理】【思维】
Sigma Function (LightOJ - 1336)[简单数论][算术基本定理][思维] 标签: 入门讲座题解 数论 题目描述 Sigma function is an interestin ...
- 1336 - Sigma Function
1336 - Sigma Function PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB S ...
- LightOJ 13361336 - Sigma Function (找规律 + 唯一分解定理)
http://lightoj.com/volume_showproblem.php?problem=1336 Sigma Function Time Limit:2000MS Memory L ...
- B - 低阶入门膜法 - D-query (查询区间内有多少不同的数)
题目链接:https://cn.vjudge.net/contest/284294#problem/B 题目大意:查询区间内有多少个不相同的数. 具体思路:主席树的做法,主席树的基础做法是查询区间第k ...
- Sigma Function (平方数与平方数*2的约数和是奇数)
Sigma Function https://vjudge.net/contest/288520#problem/D Sigma function is an interesting function ...
随机推荐
- 一个简单的WeakList的实现
有的时候,我们会使用到WeakList,它和传统的List不同的是,保存的是对象的弱应用,在WeakList中存储的对象会被GC回收,在一些和UI相关的编程的地方会用到它(弱事件,窗体的通知订阅等). ...
- Social regularizations
trust-aware :如何从隐式信任中导出显示信任.链接预测就是搞这一方面的么? 和类似谱聚类的拉普拉斯矩阵结合在一起,没怎么看.
- android中使用gdbserver调试c程序
先废话两句,这篇文章可能有所缺陷,因为我并没有条件去测试动态库的调试.(主要是因为是自己的手机不想乱放各种so) 所以我只能说有空的话我会去进行下测试,这里就先这样了. 1.测试代码gdb-test. ...
- GIS空间参考及坐标转换
空间参考(Spatial Reference)是 GIS 数据的骨骼框架,能够将我们的数据定位到相应的位置,为地图中的每一点提供准确的坐标. 在同一个地图上显示的地图数据的空间参考必须是一致的,如果两 ...
- lykops运维自动化
lykops lykops是一套web可视化的运维自动化项目,基于python3+django开发的. 已实现功能 1.用户管理 详情 2.主机管理 主要功能:收录主机,为其他模块(例如:执行任务)直 ...
- 启动、关闭tomcat脚本
#[root@node1 ~]# vim /etc/init.d/tomcat #!/bin/bash # Init file for Tomcat server daemon # # chkconf ...
- WebHelper-SessionHelper、CookieHelper、CacheHelper、Tree
ylbtech-Unitity: cs-WebHelper-SessionHelper.CookieHelper.CacheHelper.Tree SessionHelper.cs CookieHel ...
- iOS:socket通信
ios开发 Socket通信 Socket描述了一个IP.端口对.它简化了程序员的操作,知道对方的IP以及PORT就可以给对方发送消息,再由服务器端来处理发送的这些消息.所以,Socket一定包含了通 ...
- cpp面向对象编程
如下图,先建好文件, 这里用的是Visual studio 2010 当然也可以用eclipse for cpp,如下图: AbstractShape.h #ifndef ABSTRACTSHAPE_ ...
- 【枚举】【SDOI 2011】【bzoj 2241】打地鼠
2241: [SDOI2011]打地鼠 Time Limit: 10 Sec Memory Limit: 512 MB Submit: 877 Solved: 557 Description 打地鼠是 ...