Во-первых, вы проверяете только по трем числам (3, 7 и 11). Для Сита Эратхофена вы должны начать со списка чисел, 2..i. Затем переберите этот список и удалите числа, которые являются факторами числа, которое вы повторяете. Например, как только вы доберетесь до 7, которое является простым, вам нужно убрать 49, 56 и другие кратные 7.
Во-вторых, метод, который я только что описал, очень плохо масштабируется - если вы попытаетесь найти простые числа из 1..10 ^ 9, вам понадобится 10 ^ 9 значений в вашем списке. Есть и другие способы, кроме решета Эратхофена, найти простые числа - см. http://en.wikipedia.org/wiki/Prime_number