Задание - посчитать количество простых чисел от 2 до х, используя вложенный цикл for + for. Помогите доработать код, тест-методы со значениями finish = 2 и finish = 11 - выполняются, а со значением 5 - нет
public class PrimeNumber {
public int calc(int finish) {
int count = 0;
boolean isPrime;
if (!(finish == 2)) {
for (count = 2; count <= finish; count++) {
isPrime = true;
for (int j = 2; j <= Math.sqrt(count); j++) {
if ((count % j) == 0) {
isPrime = false;
}
else {
return count;
}
}
}
} else {
return 1;
}
return count;
}
}
function calc(finish) {
var result = 0;
for (var count = 2; count <= finish; count++) {
var isPrime = true;
for (var j = 2; j <= Math.sqrt(count); j++) {
if (count % j == 0) {
isPrime = false;
break;
}
}
if (isPrime)
result++;
}
return result;
}
console.log(calc(2));
console.log(calc(5));
console.log(calc(100));
Я бы несколько ускорил код @Igor - ну, не вижу смысла проверять четные числа на делимость, и проверять делимость на четные числа. А раз минимальное число диапазона - 2, то это 2 можно вынести отдельно...
function calc(finish) {
var result = 1;
for (var count = 3; count <= finish; count+=2) {
var isPrime = true;
for (var j = 3; j*j <= count; j+=2) {
if (count % j == 0) {
isPrime = false;
break;
}
}
if (isPrime)
result++;
}
return result;
}
console.log(calc(2));
console.log(calc(5));
console.log(calc(100));
А, да, на Java - вроде бы так:
public class PrimeNumber {
public int calc(int finish)
{
int result = 1;
for(int count = 3; count <= finish; count += 2)
{
boolean isPrime = true;
for(int j = 3; j*j <= count; j+=2)
{
if (count % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) ++result;
}
return result;
}
}
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
решил немного побаловаться статическим импортом, в смысле немного поэкспериментировать
1) Возможно ли обойтись без диалога? У нас своеобразный дизайн под данную авторизацию2) Как можно настроить стиль для данного диалога? Цвет...
Есть текстовый файл, в который записаны числа (каждое с новой строки) в таком формате: 1075 5018 6542 1456 и тд Хочу создать ArrayList массивов и каждый...