超級素數冪 全國模擬(一)

2022-08-24 01:18:13 字數 680 閱讀 3670

[程式設計題] 超級素數冪

時間限制:1秒

空間限制:32768k

如果乙個數字能表示為p^q(^表示冪運算)且p為乙個素數,q為大於1的正整數就稱這個數叫做超級素數冪。現在給出乙個正整數n,如果n是乙個超級素數冪需要找出對應的p,q。 

輸入描述:

輸入乙個正整數n(2 ≤ n ≤ 10^18)

輸出描述:

如果n是乙個超級素數冪則輸出p,q,以空格分隔,行末無空格。 如果n不是超級素數冪,則輸出no

輸入例子:

27 輸出例子:

3 3解題思路:列舉q,對於每個q求p,然後判斷求出的p是否為整數且為素數,如果是,則輸出,不是則繼續查詢,查詢完成還沒有結果,則輸出no

1 #include 2 #include 3

using

namespace

std;45

/*素數判定函式*/6

bool isprime( int

n )10

for( int i = 2; i <= sqrt(n); ++i )14}

15return

true;16

}1718int

main()

1931}32

if( !flag )35}

36return0;

37 }

超級素數冪

輸入描述 輸入乙個正整數n 2 n 10 18 輸出描述 如果n是乙個超級素數冪則輸出p,q,以空格分隔,行末無空格。如果n不是超級素數冪,則輸出no 輸入例子 27 輸出例子 3 3 解析 直接用整數n去從小到大餘素數會超時。正確做法是對n開方,依次開1 2 1 3直到結果小於2 最小的素數 超級...

超級素數冪

如果乙個數字能表示為p q 表示冪運算 且p為乙個素數,q為大於1的正整數就稱這個數叫做超級素數冪。現在給出乙個正整數n,如果n是乙個超級素數冪需要找出對應的p,q。include include using namespace std 素數判定函式 bool isprime int n for i...

python輸出超級素數 超級素數冪

問題描述 如果乙個數字能表示為pq 表示冪運算 且p為乙個素數,q為大於1的正整數就稱這個數叫做超級素數冪。現在給出乙個正整數n,如果n是乙個超級素數冪需要找出對應的p,q。輸入描述 輸入乙個正整數n 2 n 10 18 輸出描述 如果n是乙個超級素數冪則輸出p,q,以空格分隔,行末無空格。如果n不...