Вивчай
Домашнє завдання #10 ·
балівbeginner

Таблиця множення та прості числа

Практика з циклами та функціями. Два завдання: генерація таблиці множення та робота з простими числами.


Частина 1: Таблиця множення

Завдання A: Базова таблиця

Створи функцію multiplicationTable(n) що виводить таблицю множення для числа n:

multiplicationTable(5);
// 5 x 1 = 5
// 5 x 2 = 10
// 5 x 3 = 15
// ...
// 5 x 10 = 50

Завдання B: Повна таблиця

Створи функцію fullTable(from, to) що генерує повну таблицю множення у вигляді двовимірної структури:

fullTable(1, 5);
// Виводить:
//      1    2    3    4    5
// 1    1    2    3    4    5
// 2    2    4    6    8   10
// 3    3    6    9   12   15
// 4    4    8   12   16   20
// 5    5   10   15   20   25

Частина 2: Прості числа

Завдання A: Перевірка простого числа

Створи функцію isPrime(n) що повертає true якщо число просте:

console.log(isPrime(2));   // true
console.log(isPrime(7));   // true
console.log(isPrime(10));  // false
console.log(isPrime(1));   // false
console.log(isPrime(-3));  // false

Просте число — натуральне число більше 1, яке ділиться тільки на 1 та на себе.

Завдання B: Знайти всі прості до N

Створи функцію primesUpTo(n) що повертає масив усіх простих чисел до n:

console.log(primesUpTo(20));
// [2, 3, 5, 7, 11, 13, 17, 19]

Частина 3 (бонус): Статистика

Створи функцію primeStats(n) що повертає об'єкт зі статистикою:

console.log(primeStats(100));
// {
//   count: 25,           // кількість простих до 100
//   largest: 97,         // найбільше просте
//   sum: 1060,           // сума всіх простих
//   percentage: "25.00%" // відсоток простих серед 1..100
// }

Підказки

  • Для перевірки простоти достатньо перевіряти дільники до Math.sqrt(n)
  • Для форматування таблиці використай String(num).padStart(4, " ") для вирівнювання
  • Функцію isPrime використай всередині primesUpTo — не дублюй код

Критерії оцінки

КритерійБали
Таблиця множення (базова + повна)30
isPrime з правильною логікою25
primesUpTo — масив простих чисел25
Чистий код, функції без дублювання20
Бонус: primeStats+15