В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География

В формате 40минут на решение 1. Problem 1.(45 points)

Write a function that takes a string as an argument and returns a difference between

number of consonants and vowels. The string consists only from English alphabetical

symbols. Vowels in English are “a”, “e”, “o”, “u”, “i”.

Example:

f(“apple”) → 3, because here 3 consonant letters and 2 vowels

f(“gold”) → 2, because here 3 consonant letters and 1 vowel

Напишите функцию, которая принимает на вход строку как аргумент и возвращает

единственное число – разницу между количеством согласных и гласных букв.

Строка состоит только из символов английского алфавита. В английском языке

гласными считаются буквы “a”, “e”, “o”, “u”, “i”.

Пример:

f(“apple”) → 3, потому что в этом слове 3 согласных и 2 гласных букв

f(“gold”) → 2, потому что этом слове 3 согласных букв и 1 гласная

2. Problem 2.(45 points)

Write a function, that takes two string lists word1 and word2, return true if the two lists

represent the same string, and false otherwise. A string is represented by a list if the array

elements concatenated in order forms the string.

Example:

f([“a”, “p”, “p”, “l”, “e”], [“app”, “le”]) → True

Because “a” + “p” + “p” + “l” + “e” = “apple” and “app” + “le” = “apple” gives the same

word “apple”

f([“he”, “l”, “lo”], [“he”, “lp”]) →False, because “hello” is not the same as “help”

Напишите функцию, которая на входе принимает два списка, состоящих из строк, и

возвращает True, если после конкатенации элементов первого списка, полученное

слово равно слову, полученному после конкатенации элементов второго списка. В

противном случае надо вернуть False.

Пример:

f([“a”, “p”, “p”, “l”, “e”], [“app”, “le”]) → True

Потому что “a” + “p” + “p” + “l” + “e” = “apple” and “app” + “le” = “apple”

получается одно и то же слово “apple”

f([“he”, “l”, “lo”], [“he”, “lp”]) →False, потому что help и hello – разные слова

Problem 3.(10 points)

Write a function that takes a string and return the Morse Code version of this

string. String only consists from alphabetical characters.

[".-","-...","-.-.","-..",".","..-.","--.","","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-

.","...","-","..-","...-",".--","-..-","-.--","--.."] – this is a morse code for English alphabet

Example: f(“ab”) → “.--…”

Напишите функцию, которая принимает строку и возвращает ее версию в коде

Морзе.

Например: f(“ab”) → “.--…”

Показать ответ
Ответ:
Палина200413
Палина200413
15.03.2023 03:34
Пусть выбраны гирьки с массами M1, M2, ..., Mn и ими удалось массу X. 

Тогда имеет место равенство X = a1 * M1 + a2 * M2 + ... + an * Mn,
где ai = 0, если i-ая гирьке не участвовала в взвешиваниях, -1, если лежала на той же чаше весов, что и масса, которкю нужно отмерить, и +1, если на другой чаше весов. 

Каждый из коэффициентов принимает одно из трёх значений, тогда при гирек можно отмерить не более, чем 3^n различных масс. 3^3 < 40 + 1 < 3^4, значит, гирек нужно не менее четырёх. 

Докажем, что взяв гирьки с массами 1, 3, 9 и 27, можно отмерить любую массу от 1 до 40. Будем это делать по индукции, доказав, что при гирек 1, 3, 9, ..., 3^k можно отмерить любую массу от 1 до (3^k - 1)/2.

База индукции. При одной гирьки массой 1 действительно можно отмерить массу 1.
Переход. Пусть для k = k' всё доказано. Докажем и для k = k' + 1.
- Если нужно отмерить массу X <= (3^k' - 1)/2, то это можно сделать при гирек. 
- Пусть надо отмерить массу (3^k' - 1)/2 < X <= (3^(k' + 1) - 1)/2. Кладём на другую чашу весов гирьку массой 3^k'. Тогда остаётся нескомпенсированная масса |X - 3^k'| <= (3^k' - 1)/2, которую, по предположению, можно получить. Ура!

ответ. 1, 3, 9, 27.
0,0(0 оценок)
Ответ:
лезгин05
лезгин05
18.04.2022 22:44

import java.util.Scanner;

public class Main {

   public static void main(String[] args) {

       double Ax, Bx, Cx;

       Scanner sc = new Scanner(System.in);

       try {

           System.out.println("Waiting for input A, B and C...");

           Ax = sc.nextDouble();

           Bx = sc.nextDouble();

           Cx = sc.nextDouble();

           if (!(Cx > Math.min(Ax, Bx) && Cx < Math.max(Ax, Bx))) {

               System.out.println("Неверные входные данные.");

               return;

           }

           double AC = Math.abs(Cx - Ax);

           double BC = Math.abs(Cx - Bx);

           System.out.println("AC = " + AC);

           System.out.println("BC = " + BC);

           System.out.println("AC * BC = " + AC * BC);

       } catch (RuntimeException e) {

           System.out.println("Неверные входные данные.");

       }

   }

}

Проблемы, вопросы или предложения по работе программы в комментарии.

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота