/**
题目: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内有多少个约数和为偶数的更多相关文章

  1. LightOJ1336 Sigma Function —— 质因子分解、约数和为偶数

    题目链接:https://vjudge.net/problem/LightOJ-1336 1336 - Sigma Function    PDF (English) Statistics Forum ...

  2. Uva 11395 Sigma Function (因子和)

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=109329#problem/C   题目在文末 题意:1~n (n:1~1012)中,因子 ...

  3. LightOJ1336 Sigma Function(约数和为偶数的个数)

    Sigma Function Time Limit:2000MS     Memory Limit:32768KB     64bit IO Format:%lld & %llu Submit ...

  4. 【LightOJ1336】Sigma Function(数论)

    [LightOJ1336]Sigma Function(数论) 题面 Vjudge 求和运算是一种有趣的操作,它来源于古希腊字母σ,现在我们来求一个数字的所有因子之和.例如σ(24)=1+2+3+4+ ...

  5. Sigma Function (LightOJ - 1336)【简单数论】【算术基本定理】【思维】

    Sigma Function (LightOJ - 1336)[简单数论][算术基本定理][思维] 标签: 入门讲座题解 数论 题目描述 Sigma function is an interestin ...

  6. 1336 - Sigma Function

    1336 - Sigma Function   PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB S ...

  7. LightOJ 13361336 - Sigma Function (找规律 + 唯一分解定理)

    http://lightoj.com/volume_showproblem.php?problem=1336 Sigma Function Time Limit:2000MS     Memory L ...

  8. B - 低阶入门膜法 - D-query (查询区间内有多少不同的数)

    题目链接:https://cn.vjudge.net/contest/284294#problem/B 题目大意:查询区间内有多少个不相同的数. 具体思路:主席树的做法,主席树的基础做法是查询区间第k ...

  9. Sigma Function (平方数与平方数*2的约数和是奇数)

    Sigma Function https://vjudge.net/contest/288520#problem/D Sigma function is an interesting function ...

随机推荐

  1. Flex页面跳转的五种实现方式

    Flex页面跳转有很多值得学习的地方,本文向大家介绍一下Flex页面跳转的几种方式,主要包括五种方式,这里为大家一一介绍. AD:   在学习Flex的过程中,你可能会遇到Flex页面跳转的概念,这里 ...

  2. WebService authentication

    http://blog.csdn.net/largestone_187/article/details/5734632 通过SoapHeader对用户口令进行验证,只有授权的用户才可以使用接口.确保了 ...

  3. Editplus格式化代码

    Editplus格式化代码插件(CSS,JS)今天在BlueIdea看到有人发了一篇名 为“让Editplus自动格式化css和js”的文章,看完后觉得写的很好,我也突然来了灵感,为什么不把前端开发常 ...

  4. Android Studio生成APK自动追加版本号、自定义apk名称、指定签名证书文件

    你也可以查看我的其他同类文章,也会让你有一定的收货! 生成APK自动追加版本号 可自动区分debug和release,并追加版本号: 打开 build.gradle 在 android 节点中插入下面 ...

  5. windows下硬盘的逻辑结构

    共有五部分组成: MBR:主引导分区(硬盘启动记录) DBR:DOS启动记录 FAT: 文件分配表 DIR:根目录区 DATA:数据区

  6. shell--管道命令(pipe)

    管道命令使用的是“|”这个界定符号 管道命令“|”仅能处理经由前面一个命令传来的正确信息,也就是standard output的信息,对于standard error并没有直接处理的能力 每个管道后面 ...

  7. 算法导论-求x的n次方

    目录 1.分治求x的n次方思路 2.c++代码实现 内容 1.分治求x的n次方思路T(n)=Θ(lgn) 为了计算乘方数a^n,传统的做法(所谓的Naive algorithm)就是循环相乘n次,算法 ...

  8. Linux下免安装mysql

    我是使用免安装的包mysql-5.6.30-linux2.6-x86_64.tar.gz(在http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6 ...

  9. [转载]Java 反射机制(包括组成、结构、示例说明等内容)

    FROM:http://www.cnblogs.com/skywang12345/p/3345205.html 第1部分 Java 反射机制介绍 Java 反射机制.通俗来讲呢,就是在运行状态中,我们 ...

  10. [转] Google 开源 iOS 应用测试工具:EarlGrey

    Google 开源 iOS 应用测试工具:EarlGrey oschina 发布于: 2016年02月18日 (3评) 分享到:    收藏 +53 3月19日,深圳源创会火热报名中,go>&g ...