この方法でプロジェクト オイラー問題 12を解決したいのですが、問題が発生しています。
**問題 -
三角形の数列は、自然数を加算することによって生成されます。したがって、7 番目の三角形の数は 1 + 2 + 3 + 4 + 5 + 6 + 7 = 28 になります。最初の 10 項は次のようになります。
1, 3, 6, 10, 15, 21, 28, 36, 45, 55, ...
最初の 7 つの三角形の数の因数を挙げてみましょう。
1: 1
3: 1,3
6: 1,2,3,6
10: 1,2,5,10
15: 1,3,5,15
21: 1,3,7,21
28: 1,2,4,7,14,28
28 は、約数が 5 を超える最初の三角形の数であることがわかります。
約数が 500 を超える最初の三角形の数の値は?
import java.util.ArrayList;
import java.util.List;
public class Problem12 {
int j=1;
static int num;
List<Integer> ls = new ArrayList<Integer>();
public void trangule(int i){
num= i*(i+1)/2;
while(j>0);
{
for(j =1; j<num/2; j++){
if(num%j==0)
{int temp= num/j;
ls.add(temp);
}
if(ls.size()==500)
{
System.out.println(ls.get(ls.size()-1));
}
}
}
}
public static void main(String[] args) {
Problem12 ob =new Problem12();
for(int i =1; i<=500; i++)
{ ob.trangule(i);}
}
}