完全平方数2

 

Description
一个数如果是另一个整数的完全平方,那么我们就称这个数为完全平方数(Pefect Sqaure),也称平方数。

小A认为所有的平方数都是很perfect的。

于是他给了小B一个任务:用任意个不大于n的不同的正整数相乘得到完全平方数,并且小A希望这个平方数越大越好。

请你帮助小B告诉小A满足题意的最大的完全平方数。

Format
Input
输入仅 1行,一个数n。

对于20%的数据,0<n≤100;

对于50%的数据,0<n≤5,000;

对于70%的数据,0<n≤100,000;

对于100%的数据,0<n≤5,000,000。

Output
输出仅1行,一个数表示答案。

由于答案可以很大,所以请输出答案对100000007取模后的结果。

Samples
输入数据 1
7
输出数据 1
144
输入数据 2
9
输出数据 2
5184
Hint

144=2×3×4×6,是12的完全平方。

5184=3×4×6×8×9,是72的完全平方。

 

 

Sol:

要构造出一个完全平方数,只要限定

2,3,5,7.........这些质因子的指数为偶数即可

于是问题变成,枚举一个个的质因子

然后看从1到N,这N个数字,它们做因式分解后,能给出多少个“指数”sum出来

当然sum是有可能为奇数的,此时我们从所选的数字中,去掉相应的质数本身就好了。

如果sum是偶数,那就直接用上了。

 

posted @ 2022-09-24 21:40  我微笑不代表我快乐  阅读(99)  评论(0编辑  收藏  举报