五角形の大きさ
今日のお題
1辺がnドットの五角形の中に含まれるドット数を計算せよ。図は問題のページを参照。
回答
import java.util.*; import java.io.*; class Main { public static int PentagonalNumber(int num) { if(num == 1){ return 1; }else{ return PentagonalNumber(num - 1) + 5 * num - 5; } } public static void main (String[] args) { // keep this function call here Scanner s = new Scanner(System.in); System.out.print(PentagonalNumber(s.nextLine())); } }
感想
Memorial Dayの休日でしばらく勉強をサボっていた。しっかり証明しようと思うと全く違う問題になるが、法則に気がついて数列を再帰(あるいは再帰なし)で書いてしまうのはとても簡単。