【NOIP模拟赛】【数学】完全平方数
问题描述
一个数如果是另一个整数的完全平方,那么我们就称这个数为完全平方数(Pefect Sqaure),也称平方数。
小A认为所有的平方数都是很perfect的~
于是他给了小B一个任务:用任意个不大于n的不同的正整数相乘得到完全平方数,并且小A希望这个平方数越大越好。
请你帮助小B告诉小A满足题意的最大的完全平方数。
输入
输入文件名为number.in
输入仅 1行,一个数n。
输出
输出文件名为number.out
输出仅1行,一个数表示答案。由于答案可以很大,所以请输出答案对100000007(注意!10^8+7)取模后的结果。
输入输出样例1
number.in
7
number.out
144
输入输出样例解释1
144=2×3×4×6,是12的完全平方。
输入输出样例2
number.in
9
number.out
5184
输入输出样例解释2
5184=3×4×6×8×9,是72的完全平方。
数据范围
对于20%的数据,0<n≤100;
对于50%的数据,0<n≤5,000;
对于70%的数据,0<n≤100,000;
对于100%的数据,0<n≤5,000,000。
题解
这题可以简化为在[1,n]中取任意个数,组成最大的形如ans=a^(2*Na)*b^(2*Nb)*……的数即可
很容易发现大于n/2+1的数和质数都不能选择作为底数
而在剩下的数中我们可以枚举i,在[1,n]数字中将每个数字分解为i^xi*φ的形式,记录下Σxi
易证Σxi只有为偶数时才能组成完全平方,取i^(Σxi),
当Σxi为奇数时我们取i^(Σxi-1)
所以 答案就为Σ(i^(Σxi-1))
#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
using namespace std; long long n,ans;
bool zs[]; long long query(long long);
long long work(long long,long long);
int main()
{
long long i,j,sum;
scanf("%I64d",&n);
for(i=;i<=n/+;i++)
if(!zs[i]) for(j=;i*j<=n;i++) zs[i*j]=true; ans=;
for(i=;i<=n/+;i++)
{
if(!zs[i])
{
cout<<"*"<<i<<endl;
j=;
sum=query(i); cout<<sum<<endl;
if(sum%!=) sum--;
if(sum!=) j=work(i,sum); cout<<j<<endl;
if(j!=) ans=(ans*j)%;
}
}
printf("%I64d",ans);
return ; } long long query(long long v)
{
long long ans,x;
ans=;
x=n;
for(;x>;x/=v,ans+=x);
return ans;
} long long work(long long a,long long b)
{
long long ans=,x=a%;
for(;b>;b/=,x=(x*x)%) if(b%!=) ans=(ans*x)%;
return ans;
}
【NOIP模拟赛】【数学】完全平方数的更多相关文章
- 2017-9-22 NOIP模拟赛[xxy][数论]
XXY 的 的 NOIP 模拟赛 4 4 —— 数学专场 A Description定义 f(x)表示 x 的约数和,例:f(12)=1+2+3+4+6+12=28给出 x,y,求Σf(i),i∈[x ...
- 2014-10-31 NOIP模拟赛
10.30 NOIp 模拟赛 时间 空间 测试点 评测方式 挖掘机(dig.*) 1s 256M 10 传统 黑红树(brtree.*) 2s 256M 10 传统 藏宝图(treas. ...
- NOIP模拟赛20161022
NOIP模拟赛2016-10-22 题目名 东风谷早苗 西行寺幽幽子 琪露诺 上白泽慧音 源文件 robot.cpp/c/pas spring.cpp/c/pas iceroad.cpp/c/pas ...
- contesthunter暑假NOIP模拟赛第一场题解
contesthunter暑假NOIP模拟赛#1题解: 第一题:杯具大派送 水题.枚举A,B的公约数即可. #include <algorithm> #include <cmath& ...
- NOIP模拟赛 by hzwer
2015年10月04日NOIP模拟赛 by hzwer (这是小奇=> 小奇挖矿2(mining) [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿 ...
- 大家AK杯 灰天飞雁NOIP模拟赛题解/数据/标程
数据 http://files.cnblogs.com/htfy/data.zip 简要题解 桌球碰撞 纯模拟,注意一开始就在袋口和v=0的情况.v和坐标可以是小数.为保险起见最好用extended/ ...
- 队爷的讲学计划 CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的讲学计划 题解:刚开始理解题意理解了好半天,然后发 ...
- 队爷的Au Plan CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的Au%20Plan 题解:看了题之后觉得肯定是DP ...
- 队爷的新书 CH Round #59 - OrzCC杯NOIP模拟赛day1
题目:http://ch.ezoj.tk/contest/CH%20Round%20%2359%20-%20OrzCC杯NOIP模拟赛day1/队爷的新书 题解:看到这题就想到了 poetize 的封 ...
- CH Round #58 - OrzCC杯noip模拟赛day2
A:颜色问题 题目:http://ch.ezoj.tk/contest/CH%20Round%20%2358%20-%20OrzCC杯noip模拟赛day2/颜色问题 题解:算一下每个仆人到它的目的地 ...
随机推荐
- React 入门笔记
一.什么是React React: A JAVASCRIPT LIBRARY FOR BUILDING USER INTERFACES 上面的话直译过来就是,React是一个用于构建用户界面的Java ...
- MUI - sortable在mui.js前端框架不兼容的解决方案
关于sortable看这 兼容的解决方案看这 http://www.cnblogs.com/phillyx/ 示例代码已更到github
- Python学习之路4☞条件和循环
一.if语句 1.1 功能 计算机又被称作电脑,意指计算机可以像人脑一样,根据周围环境条件(即expession)的变化做出不同的反应(即执行代码) if语句就是来控制计算机实现这一功能 1.2 语法 ...
- iOS 避免循环导入及自定义控件delegate和protocol的相互引用的问题
在OC中一般来说ClassA同ClassB想要避免重复import的话两种方案 1. 若ClassA.h 头文件中已经导入了ClassB,即#import "ClassB.h" , ...
- [mysql]MySQL Daemon failed to start 2016-08-14 21:27 1121人阅读 评论(18) 收藏
前两天我们发现发布好的网站不可以进行注册,登陆这些活动,但是访问页面是正常的.于是开始对问题进行排查,首先我们重启了jenkins,但是每次重启都有错误,于是我们只能重启服务器,重启服务器需要重新启动 ...
- Uva 10334
UVa 10334 这道题几乎和UVa 495是一样的. #include<iostream> #include<cstdio> #define mod 1000000 usi ...
- Java练习 SDUT-2272_Time
Time Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description Digital clock use 4 digits to e ...
- 蓝牙(3)蓝牙UUID与SDP
1.服务发现协议 (SDP) SDP = Service Discovery Protocol 主要用来根据已分配编号(UUID)搜索服务.浏览群组列表.文档 URL 和图标 URL等. 详细见: ...
- OpenStack项目及组件功能简单介绍
核心项目3个 1.控制台 服务名:Dashboard 项目名:Horizon 功能:web方式管理云平台,建云主机,分配网络,配安全组,加云盘 2.计算 服务名:计算 项目名:Nova 功能:负责响应 ...
- Mybatis/Ibatis,数据库操作的返回值
该问题,我百度了下,根本没发现什么有价值的文章:还是看源代码(详见最后附录)中的注释,最有效了!insert,返回值是:新插入行的主键(primary key):需要包含<selectKey&g ...