ZZULIOJ-1058,不等式(Java)を解く


タイトルの説明:
既知の不等式1!+2!+3!+...+m!‹n,ユーザが指定したn値をプログラミングして不等式を満たすmの整数解を計算し出力してください. 
入力:
整数nを入力し、nはint範囲内の正の整数である. 
出力:
出力mの値範囲は、出力サンプルを参照してください. 
サンプル入力:
2000000000 
サンプル出力:
m<=12 
ヒント:計算中のタイプオーバーフローの問題に注意!!! 
プログラムコード:
import java.util.*;
public class Main
{
	public static void main(String[] args)
	{
		Scanner input=new Scanner(System.in);
		long n,sum=0,ans=1;
		n=input.nextLong();
		for(int i=1;;i++)
		{
			ans*=i;
			sum+=ans;
			if(sum>=n)
			{
				System.out.printf("m<=%d
",i-1); break; } } } }