超級素數冪

2021-07-28 23:05:40 字數 520 閱讀 4040

如果乙個數字能表示為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是乙個...