Unity 3D - октомври 2014
Loading...
archlicher avatar archlicher 32 Точки

Aко само последният тест гърми, смени regex-a. При твоето решение - няма нужда да използваш патерн и по него да сравняваш, а само split("[^0-9-]")

1
izahariev96 avatar izahariev96 14 Точки

Опитах и така, но пак гърми последния тест. Може ли да има грешка в метода isPrime?

0
archlicher avatar archlicher 32 Точки

Възможно е да не ти чете правилно в някой момент. Тестът гърми ли или ти дава грешка при компилацията?

0
archlicher avatar archlicher 32 Точки

Методът може да се съкрати: във for дай i<Math.sqrt(num)+1. Ако не е prime, то числото ще се дели поне на едно друго число (к), което е по-голямо или равно на 2 и по-малко от Math.sqrt(num)+1

Само начина на четене от козолата, може да не се харесва на judge

0
izahariev96 avatar izahariev96 14 Точки

Гърми. Ако замениш метода isPrime с тоя: http://pastebin.com/9nztBE1g, гърми трети тест, а другия се оправя.

 Като сложа в иф-а Math.sqrt(num)+1, гърмят трети и десети frown

0
20/09/2014 19:28:18
archlicher avatar archlicher 32 Точки

Дай на метода се изпълнява, когато числото, което му подаваш, е по-голямо от 2. А в main метода, му задай да включва 2 в primeNumbers, ако се срещне в input-a.

т.е. всички числа по-малки от две ги забрани;

2 го вкарваш, ако го има в input-a;

всичко останало го проверяваш с метода си;

Ако не се получи, смени си четенето на input-a:

String[] input = scanner.nextLine().split("[^0-9-]");

и после когато четеш от input[], трябва да : if(!input[i].equals("")){....}

1