題目連結
題意:
叔叔有若干片CD要分給若干個姪子女,求分法(可能有人沒分到)
解法:
有幾個姪子女,每片CD就有幾種分法,(如有一片,要分給3個人,有三種可能)
假設N個人,要分D片CD,就有N^D種(次方),很直觀的解法
原本我用int long,會爆掉
(當N=10, D=25,結果為10000000000000000000000000,即10^25)
最後偷懶使用 BigInteger,輕鬆解決
程式(Java):
題意:
叔叔有若干片CD要分給若干個姪子女,求分法(可能有人沒分到)
解法:
有幾個姪子女,每片CD就有幾種分法,(如有一片,要分給3個人,有三種可能)
假設N個人,要分D片CD,就有N^D種(次方),很直觀的解法
原本我用int long,會爆掉
(當N=10, D=25,結果為10000000000000000000000000,即10^25)
最後偷懶使用 BigInteger,輕鬆解決
程式(Java):
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import java.util.*; | |
import java.math.*; | |
public class Main { | |
public static void main(String args[]) { | |
Scanner sc = new Scanner(System.in); | |
while (sc.hasNext()) { | |
int N = sc.nextInt(); | |
int D = sc.nextInt(); | |
if (N == 0 && D == 0) | |
break; | |
BigInteger n = new BigInteger(String.valueOf(N)); | |
System.out.println(n.pow(D)); | |
} | |
} | |
} |
留言
張貼留言