C++ Chanel
615 subscribers
44 photos
6 videos
53 links
Download Telegram
Задача на сегодня:
https://www.eolymp.com/ru/problems/848

Решение опубликую сегодня вечером
1
А вот и решение:

```
#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int main() {
bool running = true;
long long M, N;
cin >> M >> N;

vector<long long> result;

for (long long number = M; number <= N; number++) {
if (number <= 1) {
running = false;
}
else running = true;
if (running)
{

long long divisorsSum = 1;
long long sqrtNum = sqrt(number);
for (long long i = 2; i <= sqrtNum; i++) {
if (number % i == 0) {
divisorsSum += i;
if (i != number / i) {
divisorsSum += number / i;
}
}
}
if(divisorsSum == number)result.push_back(number);
}
}

if (result.empty()) {
cout << "Absent" << endl;
}
else {
for (long long perfectNumber : result) {
cout << perfectNumber << endl;
}
}

return 0;
}
```
1👍1🔥1
Где и как был создан телеграм?
1. Telegram клиент (GUI):
• ОС Android: Написан на Java и Kotlin.
• iOS: Использует Objective-C и Swift.
• Десктопные версии: На основе технологий, таких как Qt (Telegram Desktop), или веб-технологии для Telegram Web.
2. Telegram сервера:
• Бизнес-логика и серверное взаимодействие: Часто на языке программирования Erlang.
• Хранение данных: В разных местах используются разные технологии, включая RocksDB и другие.
3. Telegram API:
• Для взаимодействия с Telegram API можно использовать различные языки программирования. Telegram предоставляет API на основе протокола MTProto.
Как создан Google?

1. Мобильные устройства (телефоны):
• Операционная система: Android.
• Языки программирования: Java и Kotlin.
• GUI разработка: Используются Java и Kotlin для создания пользовательского интерфейса на Android.
2. Серверная часть:
• Языки программирования: Java, C++, Python.
• Технологии: Разнообразные фреймворки и инструменты.
• Web-интерфейс (GUI для веб-приложений): HTML, CSS, JavaScript.
3. Графический интерфейс на компьютерах:
• Операционные системы: Разнообразные, включая Windows, macOS и Linux.
• Языки программирования: Зависит от конкретной платформы и приложения, но может включать C++, Java, C#, Swift и другие.
• Технологии: Используются различные фреймворки и библиотеки, такие как Qt, WPF (Windows Presentation Foundation), Cocoa (для macOS) и другие.
👍1
Зачем нужен указатель на указатель?
Например чтобы передать параметр по ссылке в вашу функцию,а еще для динамического виделения памяти.С помощью такого метода можно изменять значение указателя в самой функции.
В чем отличие list от vector в С++?

list это обычный linked-list (что-бы добраться до N-го элемента, нужно пройти по всем предыдущим), a vector, это по сути массив в традиционном понимании (fixed length, random access). Если вам нужен random-access используйте vector.

Вообще я всегда использую vector и list всегда казался мне более трудным в понимании.
фишки для C++
1.Вместо while можно использовать for.В больших компаниях запрещяют использовать while и вместо него вот такой красиво написаный цыкл.
2. Для того чтобы не писать по сто раз long long можно сделать его директивом.Оно сократит вам очень много времени.
3.Константы max и min.Вместо того чтобы писать pow(2,31) много раз можно также сократить код.
Зачем нужен HTTP если есть HTTPS?
HTTPs — это расширение для протокола HTTP, которое делает его безопасным. Дело в том, что данные передаются по HTTP в открытом виде. Это создаёт риск раскрыть конфиденциальную информацию, если кто-то перехватит трафик. HTTPs решает эту проблему, добавляя в изначальный протокол возможность шифрования данных.
Задача на сегодня:
https://www.eolymp.com/uk/problems/10926
(такая была на тестовом олимпиадном задании),решение кину завтра
👍1
Решение:

#include <iostream>
#include <vector>
using namespace std;
#define ll long long
int main() {
ll n = 0,result = 0;
cin >> n;
vector<ll[2]> sort(n);
vector<ll>xref;
vector<ll> yref;
for (ll i = 0; i < n; i++) {
ll x, y;
cin >> x >> y;
sort[i][0] = x;
sort[i][1] = y;
if (i == 0) { xref.push_back(x); yref.push_back(y); }
ll temp = 0;
for (ll j = 0; j < xref.size(); j++) {
if (xref[j] != x)temp++;
if (temp == xref.size()) xref.push_back(x);
}
temp = 0;
for (ll j = 0; j < yref.size(); j++) {
if (yref[j] != y)temp++;
if (temp == yref.size()) yref.push_back(y);
}
}

for (ll i = 0; i < xref.size(); i++) {
vector<ll> arr;
ll dots = xref[i];
ll counter = 0;
for (ll j = 0; j < sort.size(); j++) {
if (sort[j][0] == dots) {
counter++;
}
}
if (counter == 3)result++;
else if (counter > 3)result += counter / 3;
}
for (ll i = 0; i < yref.size(); i++) {
vector<ll> arr;
ll dots = yref[i];
ll counter = 0;
for (ll j = 0; j < sort.size(); j++) {
if (sort[j][1] == dots) {
counter++;
}
}
if (counter == 3)result++;
else if (counter > 3)result += counter / 3;
}
cout << result;
return 0;
}
Очень интересная задача,сегодня была на олимпиаде:
дается числа m и n:
m ширина
n высота
вывести рисунок,например:
m=4
n=6
“x..x”
“.xx.”
“.xx.”
“x..x”
“.xx.”
“.xx.”
Решение как всегда кину сегодня вечером


Накидайте 🔥🔥🔥 если вам интересный такой формат
🔥4🫡1
https://youtu.be/8jLOx1hD3_o?si=50jxQOEep2rWiI5T кто-то просил выложить видео сюда,это очень класное видео которое охватывает все
C++ Chanel
Очень интересная задача,сегодня была на олимпиаде: дается числа m и n: m ширина n высота вывести рисунок,например: m=4 n=6 “x..x” “.xx.” “.xx.” “x..x” “.xx.” “.xx.” Решение как всегда кину сегодня вечером Накидайте 🔥🔥🔥 если вам интересный такой формат
Решение(в коменты кидали на пайтоне)
#include <iostream>
using namespace std;

int main() {
int m, n;
cin >> n >> m;
string column;
int left = 0;
int right = m - 1;
for (int i = 0; i < m; i++)column += '.';
for (int i = 0; i < n; i++) {
string copyColumn = column;
for (int j = 0; j < m; j++) {
if (j == left)copyColumn[left] = 'x';
if (j == right)copyColumn[right] = 'x';
}
right--;
left++;
if (right == 0)right = m-1;
if (left == m-1)left = 0;
cout << copyColumn << endl;
}
return 0;
}
👏1
Будет ли вам интересно если я буду выставлять про микроконтроллеры?(Ведь это тоже С++)
Anonymous Poll
86%
Да
14%
Нет
C++ Chanel
Интересная задача: https://leetcode.com/problems/reverse-integer/ Как всегда решение кину чуть-чуть позже
Решение:

class Solution {
public:
int reverse(long x) {
long result = 0;
bool plural = x>0;
if(!plural)x*=-1;
while(x>0){
result+=x%10*10;
result*=10;
x/=10;
}
result/=100;
if(result>pow(2,31)-1||result<-pow(2,31))return 0;
if(!plural)return result*-1;
return result;
}
};