您当前的位置: 首页 > 

MangataTS

暂无认证

  • 0浏览

    0关注

    423博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

蓝桥每日真题之完全平方数

MangataTS 发布时间:2022-01-17 22:41:09 ,浏览量:0

题目来源

2021年蓝桥省赛第二场H题

题目链接:http://acm.mangata.ltd/p/P1165

视频讲解

视频连接:https://www.bilibili.com/video/BV1aZ4y1f76j/

思路

我们来考虑n的情况

  • 当n为质数的时候:我们直接返回当前这个数即可
  • 当n不是质数的时候:由于我们之前学过的唯一分解定理(学习链接:https://blog.csdn.net/m0_46201544/article/details/122280910 )可以知道一个合数是会被一种最小质数的积的形式的,那么我们只需要判断在这个过程中每一个质数的数量即可,我们只需要给奇数个质数因子再乘上一个该质数就可以让这个数变成完全平方数,所以我们直接使用唯一分解定理求解就好啦
代码
#include
using namespace std;
#define ll long long
#define mod 1000000009
ll ksm(ll a,ll b) {
	ll ans = 1;
	for(;b;b>>=1LL) {
		if(b & 1) ans = ans * a % mod;
		a = a * a % mod;
	}
	return ans;
}

ll lowbit(ll x){return -x & x;}

const int N = 2e6+10;

ll n;

int main()
{
	cin>>n;
	ll ans = 1;
	for(ll i = 2;i * i             
关注
打赏
1665836431
查看更多评论
0.0348s