Алгоритмы (Javascript): различия между версиями

Материал из Информационная безопасностя
Перейти к навигации Перейти к поиску
Строка 121: Строка 121:
 
=== Найти max из введенных чисел ===
 
=== Найти max из введенных чисел ===
 
<syntaxhighlight lang="javascript" line>
 
<syntaxhighlight lang="javascript" line>
 +
let count = prompt('Введите количество чисел')
  
 +
let max = 0
 +
for (let i=0; i < count; i++) {
 +
    let x = parseInt(prompt('Введите число ' + (i+1).toString()))
 +
    if (i === 0) {
 +
        max = x
 +
    } else if (x > max) {
 +
        max = x
 +
    }
 +
}
 +
 +
console.log('max = ' + max)
 
</syntaxhighlight>
 
</syntaxhighlight>
  

Версия 15:10, 27 июня 2021

Код программ

Сумма вводимых целых чисел

1 let count = prompt('Введите число слагаемых')
2 
3 let sum = 0
4 for (let i=0; i < count; i++) {
5     let x = parseInt(prompt('Введите число ' + (i+1).toString()))
6     sum += x
7 }
8 
9 console.log('sum = ' + sum)

Произведение целых чисел

1 let count = prompt('Введите число множителей')
2 
3 let product = 1
4 for (let i=0; i < count; i++) {
5     let x = parseInt(prompt('Введите число ' + (i+1).toString()))
6     product *= x
7 }
8 
9 console.log('product = ' + product)

Сколько нечетных среди n введенных

 1 let count = prompt('Введите количество чисел')
 2 
 3 let oddCount = 0
 4 for (let i=0; i < count; i++) {
 5     let x = parseInt(prompt('Введите число ' + (i+1).toString()))
 6     if (x % 2 === 1) {
 7         oddCount++
 8     }
 9 }
10 
11 console.log('oddCount = ' + oddCount)

Защита от неверного ввода

1 let x = prompt('Введите x>0')
2 
3 while (x <= 0) {
4     alert("Неверный ввод")
5     x = prompt('Введите x>0')
6 }
7 
8 alert("x = " + x)

Вывод 10 первых степеней двойки

1 let x = 2
2 let n = 10
3 
4 for (let i = 0; i < n; i++) {
5     console.log("2 ** " + (i+1) + " = " + x)
6     x *= 2
7 }

Вывод всех двухзначных чисел, кратных 5

1 let x = 10
2 
3 while (x < 100) {
4     console.log(x)
5     x += 5
6 }

Вывод n первых чисел Фибоначчи

 1 let n = prompt('Введите число n')
 2 
 3 let a = 0
 4 let b = 1
 5 console.log(a)
 6 console.log(b)
 7 for(let i = 0; i < n-2; i++) {
 8     let tmp = a
 9     a = b
10     b = tmp + b
11     console.log(b)
12 }

Найти НОД(A,B), используя алгоритм Евклида:

 1 let a = parseInt(prompt('Введите число a'))
 2 let b = parseInt(prompt('Введите число b'))
 3 
 4 while (b !== 0) {
 5     let tmp = a
 6     a = b
 7     b = tmp % b
 8 }
 9 
10 console.log('НОД(a,b) = ' + a)

Найти сумму цифр целого числа m

 1 let m = parseInt(prompt('Введите число m'))
 2 
 3 let n = m
 4 let sum = 0
 5 while (n !== 0) {
 6     sum += n % 10
 7     n = Math.floor(n / 10)
 8 }
 9 
10 console.log('Сумма цифр числа ' + m + ' = ' + sum)

Найти max из введенных чисел

 1 let count = prompt('Введите количество чисел')
 2 
 3 let max = 0
 4 for (let i=0; i < count; i++) {
 5     let x = parseInt(prompt('Введите число ' + (i+1).toString()))
 6     if (i === 0) {
 7         max = x
 8     } else if (x > max) {
 9         max = x
10     }
11 }
12 
13 console.log('max = ' + max)

Найти min, удовлетворяющее условию p(x)

Есть ли среди введенных число k?

Является ли число N>1 простым?

Разложение числа на простые множители