Bash и наука

Apr 18, 2008 17:10

Цитата с баша: ххх: Вау! Я тут случайно обнаружил, что сумма всех простых чисел меньших миллиона является простым числом!
Прочитав это я усомнился ... никто дже не гарантирует что это правда и решил проверить.
Написал маленькую программу и нашел все простые числа меньшие миллиона (78498 штуки). Сложил их и получил число 37,550,402,023.
Проверил его на простоту - блин, действительно простое ... вот и спрашивается как он мог "случайно" об этом узнать?
Тем более что сумма первых 500 простых чисел (последнее - 3571) делится на 31.


package org.lab13.primenumbers;

import java.util.ArrayList;
import java.util.List;

public class Summ1
{

private static int getDivision(long number, List listSimples)
    {
        int i = 0;
        while (i < listSimples.size())
        {
            if (number % listSimples.get(i) == 0)//Если остаток от деления равен 0, то число - составное
                return listSimples.get(i);
            else
                i++;//Пока еще простое
        }
        return 0;
    }

public static void main(String[] args)
    {
        List list = new ArrayList(7000000);
        long summ = 0L;
        int number = 1;

while (number < 1000000)
        {
            number++;
            if (getDivision(number, list) <= 1)
            {
                list.add(number);
                System.out.printf("%7d = %10d\n", list.size(), number);
                summ = summ + number;
            }
        }

System.out.printf("Summ = %10d\n", summ);
        int division = getDivision(summ, list);
        if (division > 1)
            System.out.println("Делитель = " + division);
        else
            System.out.printf("Действительно простое!\n");
    }
}P.S.
Знал бы как пользоваться нашим расказчиком - использовал бы его :(.
Previous post Next post
Up