LightOJ 1336
这道题实在是有些精彩
求 1- n 内因子和为偶数的数字的 个数
那么我们就有思路了虽然题目里给了求因子和公式
但是由于之前我们自学,我们知道这个公式最原始的样子
Sum = (1 + p1^1 + p1^2 + ... pn^a1) * .........
题目里给的全是等比数列求和公式优化后的式子
首先我们需要了解一个东西, 偶数个奇数相加之和是偶数,奇数个奇数相加之和是奇数。。
证明的话可能比较。。粗糙:
我们知道两个奇数之和必定为 偶数了,那么如果偶数个相加不就是。。多个两个奇数相加吗。。而偶数加偶数必定是奇数,奇数加偶数必定是偶数,,,所以如果是奇数个奇数相加,我们拿出一个奇数,剩下的是偶数个奇数相加 为偶数,最后加上这个奇数,最终结果就是 奇数了。
那么这条规律我们先暂时放下,但是记住。
我们发现对于乘法而言 奇数乘以奇数才为奇数(奇数个奇数相加),我们知道素数里 只有 2 是偶数,而对于前 n 项和公式,我们知道 2 那一部分必定为 奇数(化简到最后为 2^n - 1) 所以可以知道 2^x 这些数字因子和必为奇数
对于公式 X = p1^a1 * p2^a2 *..... pn^an
那么对于其他项, Sum = S(p1) + S(p2) + S(p3),..... p2 p3 ----pn 都必定为 奇数同时我们知道 p^n 也一定为奇数(奇数乘以奇数仍为奇数)那么 对于每个素数 p 一共有 a+1个奇数相加 ,如果 S 想为奇数, a+1 必定得是奇数,得出 a 必定得为 偶数
那么如果 a 为偶数,那么我们知道这个数必定可以由 p2^2(或者 (p2^2) ^ 2 ) 作为因子,也就是平方数因子和必定为奇数
但是别忘了 如果 p1 = 2 的时候也得算上,所以任意的平方数 * 2 因子和也是奇数
这样我们可以不用去管 2^k 因为 2^k 可以分解成 2* 某个平方数。
综上 最终结果就是 n - sqrt( n ) - sqrt( n/2 )
#include <bits/stdc++.h>
using namespace std;
#define ll long long int
int main()
{ll n;int t,cas = 1;scanf("%d",&t);while(t--){scanf("%lld",&n);ll a = sqrt(n);ll b = sqrt(n/2);printf("Case %d: %lld\n",cas++,n-a-b);}return 0;
}
LightOJ 1336相关推荐
- Sigma Function LightOJ - 1336[约数和定理]
题目大意:求1到n之间的数因子和是偶数有几个 解题思路:对于任意一个xxx,都有x=p1a1∗p2a2∗p3a3...∗pxas,x的所有约数之和就是sum=(1+p11+p12+..p1a1)∗(1 ...
- LightOJ 1336 Sigma Function
题意: 每个数字都是由质因数乘积组成: 于是这个数的所有因子之和就是: 求小于等于n的数中所有质因子之和是偶数的数的个数. 思路: 如上式,求所有质因子之和就是每个质因子(p^0+p^1+p^2+-- ...
- kuangbin带你飞专题合集
题目列表 [kuangbin带你飞]专题一 简单搜索 [kuangbin带你飞]专题二 搜索进阶 [kuangbin带你飞]专题三 Dancing Links [kuangbin带你飞]专题四 最短路 ...
- 算法学习经典例题整理
陆续会对本篇博客进行更新! 搜索:https://vjudge.net/contest/292597 区间DP:https://vjudge.net/contest/293892 树状背包:https ...
- [kuangbin]各种各样的题单
[kuangbin]各种各样的题单 专题1 简单搜索 POJ 1321 POJ 2251 POJ 3278 POJ 3279 POJ 1426 POJ 3126 POJ 3087 POJ 3414 F ...
- 紫薯第10章数学 kaungbin专题14数论基础
杂谈 kuangbin14数论Harmonic Number LightOJ - 1234 分段打表 + 欧拉爷爷o(1).(第一次触及了欧拉常熟) 10.1.1 && 10.1.2 ...
- kuangbin带你飞 专题1-23 题单
kuangbin大神,对于打过ACM比赛的ACMer,无人不知无人不晓. 在此,附上vjudge平台上一位大神整理的[kuangbin带你飞]专题目录链接. [kuangbin带你飞专题目录1-23] ...
- “kuangbin带你飞”专题计划——专题十四:数论基础
写在前面 1.目前还没啥写的.开始时间:2021-05-13(其实博客上看得到该博客创建时间的) 2.上一个专题刷的是网络流(博客总结),属于第一次接触.本来想的是一周特别高效,然后一周略划水,结果是 ...
- linux划分分区 2t,Linux使用GPT划分大于2T的分区
在Linux下磁盘分区大于2TB的时候我不能使用常用fdisk命令,这时我们就需要先把大容量的磁盘进行转换为GPT格式,然后试用parted命令来划分大于2T的分区. 方法: 1.用parted命令分 ...
- 老鱼的-kuangbin专题题解
kuangbin专题问题一览 专题一 简单搜索 POJ 1321 棋盘问题 POJ 2251 Dungeon Master POJ 3278 Catch That Cow POJ 3279 Flipt ...
最新文章
- 记录一下matlab三维柱状图调色详细步骤
- web socket 心跳包的实现方案
- Eclipse中SVN的安装步骤(两种)和用法
- 17.4.28 清北第一天水题
- Golang之var、new与make、简短声明
- Android消息处理机制(Handler、Looper、MessageQueue与Message)
- java 线程百科_Java并发——线程介绍
- mysql 设置男女约束
- iphone11返回上一级手势怎么设置_华为手机的这五种导航方式,你更习惯哪一种?怎么切换?...
- Android Studio的怪错:AndroidManifest.xml unresolve symbol package/connot resolve symbol/Animations
- .NET中的Lambda表达式与匿名方法
- b2b2c电商平台系统
- 青蛙跳台阶变态青蛙跳台阶
- 2015年3月苹果新的审核标准(中文)
- 公众号滑动图代码_公众号怎么制作图片滑动的效果?怎么做可以上下滑动的长图?...
- matlab多元变量最优解,模拟退火算法确定多个变量的最优解
- 如何搭建高质量在线网校平台
- 2021年必备的最全人工智能书单
- ppt模板文字拆分怎么制作?
- 三菱PLC模板程序FX5U轴FB块 使用ST语言编写的轴FB块,包含原点复归
热门文章
- arduino代码_Arduino超声波传感器测距代码完全解析
- [RK3288][Android7.1]调试笔记 --- 内置高版本的APK编译User版本出错解决
- 如何合并excel文件
- Ubuntu安装python步骤
- Win11U盘拒绝访问怎么办?Win11U盘拒绝访问的有效解决方法
- “性能续航小超人”iQOO Z6系列登场:售价仅1199元起
- 偏差(bias)和方差(variance)区别:
- oracel vm 安装windows server 2012报错Error 0x000000C4
- 苹果又开了一个“坏头”
- 宁德时代发布第一代钠离子电池;联泰科技与赢创联合研发实验室成立;霍尼韦尔高管人事变动 | 能动...