如果乙個數字能表示為p^q(^表示冪運算)且p為乙個素數,q為大於1的正整數就稱這個數叫做超級素數冪。
現在給出乙個正整數n,如果n是乙個超級素數冪需要找出對應的p,q。
#include #include using namespace std;
/*素數判定函式*/
bool isprime( int n )
for( int i = 2; i <= sqrt(n); ++i )
}return true;}
int main()
{ long long int n;
while( cin>>n ){
int max_q = log2(n);
bool flag = false;
for( int q = 2; q <= max_q; ++q ){
double p = pow( n, 1.0/q );
if( p-int(p)==0 && isprime( int(p) ) ){
cout<
超級素數冪
輸入描述 輸入乙個正整數n 2 n 10 18 輸出描述 如果n是乙個超級素數冪則輸出p,q,以空格分隔,行末無空格。如果n不是超級素數冪,則輸出no 輸入例子 27 輸出例子 3 3 解析 直接用整數n去從小到大餘素數會超時。正確做法是對n開方,依次開1 2 1 3直到結果小於2 最小的素數 超級...
python輸出超級素數 超級素數冪
問題描述 如果乙個數字能表示為pq 表示冪運算 且p為乙個素數,q為大於1的正整數就稱這個數叫做超級素數冪。現在給出乙個正整數n,如果n是乙個超級素數冪需要找出對應的p,q。輸入描述 輸入乙個正整數n 2 n 10 18 輸出描述 如果n是乙個超級素數冪則輸出p,q,以空格分隔,行末無空格。如果n不...
超級素數冪 全國模擬(一)
程式設計題 超級素數冪 時間限制 1秒 空間限制 32768k 如果乙個數字能表示為p q 表示冪運算 且p為乙個素數,q為大於1的正整數就稱這個數叫做超級素數冪。現在給出乙個正整數n,如果n是乙個超級素數冪需要找出對應的p,q。輸入描述 輸入乙個正整數n 2 n 10 18 輸出描述 如果n是乙個...