階乘除法 CSU 1781

2022-08-23 07:39:10 字數 1018 閱讀 7893

csu - 1781

輸入兩個正整數 n, m,輸出 n!/m!,其中階乘定義為 n!= 1*2*3*...*n (n>=1)。 比如,若 n=6, m=3,則n!/m!=6!/3!=720/6=120。

是不是很簡單?現在讓我們把問題反過來:輸入 k=n!/m!,找到這樣的整數二元組(n,m) (n>m>=1)。

如果答案不唯一,n 應該盡量小。比如,若 k=120,輸出應該是 n=5, m=1,而不是 n=6, m=3,因為5!/1!=6!/3!=120,而 5<6。

input

輸入包含不超過 100 組資料。每組資料報含乙個整數 k (1<=k<=10^9)。

output

對於每組資料,輸出兩個正整數 n 和 m。無解輸出"impossible",多解時應讓 n 盡量小。

sample input

120

1210

sample output

case 1: 5 1

case 2: impossible

case 3: 7 4

hint

wa了好多發,腦子不太好使

#include#include

#include

#include

#include

#define ll long long

using

namespace

std;

intmain()

else

if(temp>n)

break

; }

if(flag)

break

;

//printf("%i64d\n",i);

}

if(flag)

else

printf(

"%lld %lld\n

",n,n-1

); }

}}

CSU 1781 階乘除法(列舉)

description 輸入兩個正整數 n,m,輸出 n m 其中階乘定義為 n 1 2 3 n n 1 比如,若 n 6,m 3,則 n m 6 3 720 6 120。是不是很簡單?現在讓我們把問題反過來 輸入 k n m 找到這樣的整數二元組 n,m n m 1 如果答案不唯一,n 應該盡量小...

階乘除法 CSU1781 暴力搜尋

題目鏈結 time limit5000 ms memory limit131072 kb source湖南省第十一屆大學生計算機程式設計競賽 輸入兩個正整數 n,m,輸出 n m 其中階乘定義為 n 123 n n 1 比如,若 n 6,m 3,則 n m 6 3 720 6 120。是不是很簡單?...

NBUT 1643 階乘除法

階乘除法crawling in process.crawling failedtime limit 5000msmemory limit 65535kb64bit io format submit status practice nbut 1643 description input output ...