public static void main(String args[])
{
long sum = 0;
for(int i=0; i<Integer.parseInt(args[0]); i++)
{
if(i != 1 && i%2 != 0 && i%3 != 0 && i%5 != 0 && i%7 != 0)
{
sum = sum + i;
}
if(i==2 || i==3 || i==5 || i==7)
{
sum = sum + i;
}
}
System.out.println(sum);
}
100 を差し込むたびに、正しい 1060 が生成されます。ただし、1,000,000 (114,285,285,737) の不適切な数を生成します。
100 未満のすべての値に対して正しく生成されていますが、他に何も試していません。私は100をチェックしているだけではありません。