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

Написать программы на языке программирования Python. На проверку отправить скрин-шот выполненной программы и саму программу в формате *.py со всеми пояснениями решения.
| |
Задачи:
1) Получить случайное трехзначное число, вывести это число и сумму его отдельных цифр.
2) Написать программу, которая рассчитывает возраст человека в часах.​

Показать ответ
Ответ:
danya8202
danya8202
22.08.2020 17:18

#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

void solve(){

   int n, sum = 0;

   bool ok = false;

   cin >> n;

   vector<int> a(n);

   for(auto &i: a) { cin >> i; sum += i;}

   sort(a.begin(), a.end());

   for(int i = 0; i < n; i++){

       int l = i + 1, r = n - 1;

       while(l <= r && !ok){

           int m = (l + r) / 2;

           if(a[m] < sum - a[i])

               l = m + 1;

           else if(a[m] > sum - a[i])

               r = m - 1;

           else

               ok = true;

       }

   }

   cout << (ok ? "YES" : "NO");

}

int main(){

   solve();

}

0,0(0 оценок)
Ответ:
девчонка1999
девчонка1999
17.12.2022 17:08

Первая строчка спрашивает у человека адрес файла. После ввода получается подобная строчка: "C:\Users\usr\password.txt"

Но там есть такая штука ".split('/')"

Суть её в том, что она разделяет строку и суёт части в массив. В скобках пишется сам разделитель. Если в скобках ничего нет, то разделителем служит пробел. Если выполнить

'hello world guys yes no'.split()

то получим в итоге массив

['hello', 'world', 'guys', 'yes', 'no']

В твоём случае разделителем служит "/". Если ты хотел разделить адрес на составляющие, нужно использовать слеш в другую сторону.

Тут строчка

'C:\Users\usr\password.txt'.split('/')

превратиться в

['C:\Users\usr\password.txt']

То есть не разделиться.

Я думаю задумывалось вот так:

'C:\Users\usr\password.txt'.split('\')

выйдет

['C:', 'Users', 'usr', 'password.txt']

Будем отталкиваться от моего варианта.

Далее идёт цикл for. В нашем случае в цикле for "i" будет равна числу от 0, до кол-ва объектов в массиве.

len(a) - даёт кол-во объектов в массиве.

in range - проходит по числам в определенном диапазоне. Если стоит одно число, то проходится от 0 до него (если число 3, то проходится по числам 0,1,2). Если два числа, то проходится от первого до второго с шагом один (если числа 2 и 5, то проходится по числам 2,3,4). Третье число (все числа записываются через запятую) будет означать шаг. in range(0,40,10) пройдётся по числам 0, 10, 20, 30.

В нашем случае in range проходится по кол-ву объектов в массиве.

В следующей строчке выводится "a[i]". a - это наш массив. i -  порядковый номер объекта в массиве (стоит помнить, что массив начинает счёт не с 1, а с 0. Т. е. 0 объект - это первый объект.)

Если в код засунуть путь до файла, то в итоге он тебе выведет каждую часть путя.

Если C:\Users\usr\password.txt, то код напишет

C:

Users

usr

password.txt

Пиши, если есть вопросы.

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