Привет! Вот моя программа на C , которая решает задачу об обзвоне квартир с одинаковыми цифрами в номере⁚
cpp
#include
#include
#include
using namespace std;
bool checkSameDigits(int num) {
string strNum to_string(num); // Преобразуем номер в строку
char digit strNum[0]; // Берем первую цифру
// Проверяем, что все цифры в номере равны первой
for (int i 1; i < strNum.length; i ) {
if (strNum[i] ! digit) {
return false;
}
}
return true;
}
void prankCall(int n) {
vector
// Заполняем вектор номерами квартир от 1 до n
for (int i 1; i < n; i ) {
apartments.push_back(i);
}
// Обходим вектор и обзваниваем квартиры с номерами из одинаковых цифр
for (int i 1; i < 9; i ) { // Цифры от 1 до 9
for (int j 0; j < apartments.size; j ) {
if (checkSameDigits(apartments[j]) nn apartments[j] % 10 i) {
cout << ″Звонок в квартиру ″ << apartments[j] << endl;
}
}
}
}
int main {
int n;
cout << ″Введите количество квартир в доме⁚ ″;
cin >> n;
prankCall(n);
return 0;
}
В этой программе мы создаем функцию `checkSameDigits`, которая проверяет, состоят ли все цифры в номере квартиры из одинаковых цифр. Затем у нас есть функция `prankCall`, которая обзванивает квартиры в заданном порядке. Мы заполняем вектор `apartments` номерами квартир и проверяем каждую квартиру на условия из задачи.
В основной функции `main` мы считываем количество квартир от пользователя и вызываем функцию `prankCall`.
Надеюсь, эта программа поможет вам решить задачу о шалости Васи с обзвоном квартир!