一个让人脑洞大开的题。

题目大意比较简单,询问[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 (数论)的更多相关文章

  1. Sigma Function LightOJ - 1336 (约数和为奇数)

    题意: 求1-n中约数和为偶数的数的个数 记住一个定理:...平方数 及其 平方数的2倍 的约数和为奇数  then....减啦 证明: ....我jiao着人家写的很详细,so 看看人家写的吧! 转 ...

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

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

  3. LightOJ - 1336 - Sigma Function(质数分解)

    链接: https://vjudge.net/problem/LightOJ-1336 题意: Sigma function is an interesting function in Number ...

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

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

  5. 【LightOJ1336】Sigma Function(数论)

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

  6. 1336 - Sigma Function

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

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

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

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

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

  9. Uva 11395 Sigma Function (因子和)

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

随机推荐

  1. CMDB_Agent_ssh版本分析

    目录 CMDB_Agent+ssh版本+server端 CMDB_Agent版本 CMDB概念 CMDB_Agent介绍 agent方案 ssh类方案 相比较 client端 架构目录 bin-sta ...

  2. hdu1242 又又又是逃离迷宫(bfs模板题)

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1242/ 这次的迷宫是有守卫的,杀死一个守卫需要花费1个单位的时间,所以以走的步数为深度,在每一层进行搜索,由于走 ...

  3. hdu1072 逃离迷宫系列 bfs

    题目链接:http://icpc.njust.edu.cn/Problem/Hdu/1072/ 题意:逃离迷宫,路中可能有炸弹,总时间是6个单位,在有炸弹的位置,如果到达的时刻时间大于0,则恢复到6时 ...

  4. IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值 的解决方法一例

    如题 IDENTITY_INSERT 设置为 OFF 时,不能为表中的标识列插入显式值 很多网上的文章是设置表的 IDENTITY_INSERT 为 ON EF中还要对模型就行设置 [Column(N ...

  5. Android应用开发基本流程

    Android应用开发流程 应用规划及架构设计 开发应用程序的步骤 项目有哪些功能. 需要哪些必要的界面及界面之间跳转的流程. 需要的数据及其数据的来源和格式. 是否需要服务器端的支持. 是否需要本地 ...

  6. ASP.NET Core 核心特性--宿主、启动、中间件

    宿主 public class Program { public static void Main(string[] args) { CreateHostBuilder(args).Build().R ...

  7. [BFS]Codeforces Igor In the Museum

     Igor In the Museum time limit per test 1 second memory limit per test 256 megabytes input standard ...

  8. OpenCV-Python 图像阈值 | 十五

    目标 在本教程中,您将学习简单阈值,自适应阈值和Otsu阈值. 你将学习函数cv.threshold和cv.adaptiveThreshold. 简单阈值 在这里,问题直截了当.对于每个像素,应用相同 ...

  9. 【译】Java SE 14 Hotspot 虚拟机垃圾回收调优指南

    原文链接:HotSpot Virtual Machine Garbage Collection Tuning Guide,基于Java SE 14. 本文主要包括以下内容: 优化目标与策略(Ergon ...

  10. 火焰图--记一次cpu降温过程

    引子 正值周末,娃儿6:30又如闹铃般准时来叫醒了我们.年前离开美菜,又回到了杭州.原本是想有更多时间陪伴娃儿,然而新的工作节奏与工作地点,让我们每天都是早上见面:这不,为了周末可以多玩一会儿,早早就 ...