AOJ0137 Middle-Square Method
問題リンク Middle-Square Method
- 解法
String s = x+"";
とすれば数xを文字列にできます。
sの長さが8未満のとき、先頭に"0"を追加し続ければ長さ8の文字列にできます。
中央4文字を取得するにはs.substring(2, 6)とします。
取得した文字列をInteger.parseInt()して次の乱数を得ます。
- ソース
import java.util.Scanner; //Middle-Square Method public class AOJ0137 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int Case = 1; int t = sc.nextInt(); while(t--!=0){ System.out.println("Case " + Case++ + ":"); int x = sc.nextInt(); x*=x; for(int i=0;i<10;i++){ String s = x+""; while(s.length()<8)s="0"+s; x = Integer.parseInt(s.substring(2,6)); System.out.println(x); x*=x; } } } }