問題描述:
從1 − n中找一些數乘起來使得答案是乙個完全平方數,求這個完全平方數
最大可能是多少。
輸入格式:
第一行乙個數字n。
輸出格式:
一行乙個整數代表答案對100000007取模之後的答案。
樣例輸入:
7樣例輸出:
144
樣例解釋:
但是塔外面有東西。
資料規模與約定:
對於20%的資料, 1 ≤ n ≤ 100。
對於50%的資料, 1 ≤ n ≤ 5000。
對於70%的資料, 1 ≤ n ≤ 105。
對於100%的資料, 1 ≤ n ≤ 5 × 106。
思路:
對於n的階乘質因數分解後
如果乙個素數次數是奇數那麼不選這個素數
否則選這個素數
這樣就能保證最大並且不會出現乙個數的一部分選一部分不選的情況
因為不選的一定是素數
#include
#include
#define lon unsigned long long
using
namespace
std;
const
int maxn=5000010;
const
int mod=100000007;
lon n,tot,ans=1,c[maxn],prime[maxn];
bool flag[maxn];
void prepare()
}void jie()//對於結成分解質因數***
}}lon quick_power(lon x,lon y)
return tmp%mod;
}int main()
蜜汁最大完全平方數
以前有過類似的思路,就是奇數次方就減一,偶數次方就不管,然後最後快速冪統計一遍 這個題思路想出來就很簡單,想不出來就完蛋 遇見了很多坑,先是long long 沒開long long結果得了5分。然後是有一句應該是k k 1,結果寫成了k 1,結果k到了這裡一直不變。懵逼地調了好長時間。includ...
完全平方數
完全平方數 time limit 10000ms memory limit 65536k total submit 44 accepted 42 case time limit 1000ms description 由1 9九個數字組成的全排列可以被看作是乙個九位數,程式設計求出這些九位數中第n個完...
完全平方數
coding utf8 python3 題目 完全平方數 乙個整數,它加上100和加上268後都是乙個完全平方數 求該數是多少 數字 1,1000 中,符合條件的數 python sqrt num.py b 1 e 1000 import sys,getopt import math defint ...