Решение задач.

Решение задач.

UPD: задачи были решены мною около годовой давности назад, поэтому, возможно, будут прорехи в коде.

Задач K.

#include <iostream>


using namespace std;


int main()

{

int a=0, sum=0, n;

cin>>n;

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

{

a+=2;

sum+=a;

}

cout<<(sum+1)<<endl;

}

Думаю её объяснять не надо. Можно решать и без итераций.


Задач L.

#include <bits/stdc++.h>

using namespace std;


int main(){


string str;

cin>>str;

string newStr;

for (size_t i = 0; i < str.length(); ++i)

{

if (i != 0 && i != 3)

newStr += str[i];

}

if(newStr[0] == '0' and newStr[1] == '0')

{

cout << '0';

return 0;

}

if(newStr[0] == '0')

{

cout << newStr[1] << '\n';

return 0;

}


cout << newStr << endl;

}

Для решения этой задачи, проще использовать строковой тип данных. Соответственно, оператор '+' между двумя операндами будет означать операцию конкатенации. Конкатенация - операция сложения строк, которые в свою очередь выступают подстроками результирующей строки. Можно добавлять в строку не только строковые литералы, но и символы. Значит, выполняется в коде следующий принцип, вот этот набор букв "str.length()" простыми словами означает взятие количества символов в строке, с помощью цикла for, можно повторять определенные действия n-ное кол-во раз. В теле цикла( код, который заключен в {} ), выполняется следующее, с помощью оператора ветвления if, мы указываем, что если n-ный индекс не равен первому и последнему( индексирование строк начинается с нуля), мы добавляемый в строку newStr символы из строки s. Особенность этой задачи в том, что, например, число 4004 будет давать строку "00", естественно, это нельзя отнести к двухзначному, поэтому, опять же, с помощью if добавляем условие, что, если первый символ newStr равен '0' и второй символ тоже, мы должны вывести '0', после ключевого слова cout, указан оператор прерывания return, он означает, что мы функцией main вернем 0, что в свою очередь означает успешное выполнение программы, последующие строки кода компилятором не будут выполнятся. Далее, после этого следует указать дополнительное условие. Например, число 3010, "01" не является двухзначным числом, следовательно, мы должны вывести "1". Если предшествующие условия не были выполнены, просто выводим строку newStr( например, число 5500, вывод на консоль - 50)

Задач M.

#include <bits/stdc++.h>


using namespace std;

typedef unsigned long long ull;

int main()

{

ull n, m, sum = 0;

cin >> n >> m;

for(int i = 2; i <= abs(n); i++)

{

sum += (3 * abs(m));

}

cout << sum << endl;


}

Думаю, по мат. модели понятно. #include <bits/stdc++.h> простыми словами, означает, что мы подключаем почти все доступные модули с помощью директивы include. Последующие объяснять смысла нет. Что означает функция abs. Это функция, которая в качестве аргумента принимает целочисленный тип данных( и не только ), и возвращает абсолютное представление( модуль в математики, проще говоря).

Report Page