В древней Греции жил мудрец по имени Прокопий, который был славен тем, что мог по любому числу мгновенно определить, есть ли в нем ровно три цифры 3.
Однако отвечал Прокопий только в двоичный системе счисления. Он отвечал «1», если в числе есть три цифры 3, и «0», если нет.
Как-то раз один из самых прилежных учеников Прокопия усомнился в его и спросил его «Учитель, правда ли, что в числе n есть ровно три тройки?», на что получил ответ — число d.
Напишите программу, которая скажет, ошибся учитель, или же был прав в своём ответе.
Формат входных данных
С клавиатуры вводятся два целых числа n и d (∣∣n∣∣≤109, d=0 или d=1).
Формат выходных данных
Ваша программа должна вывести «YES», если мудрец ответил правильно, или «NO», если нет.
входные данные
30303 1
30303 0
12345 1
выходные данные
YES
NO
NO
я бы хотел съездить в город бийск, потому что там красиво, особенно в алтайских горах. горы почти достают до неба. внизу они зеленые от растущего вокруг леса. выше — светлые, а верхушки — совсем бело-голубые. я бы хотел побывать на священном ручье, который несет чистую ледяную воду с гор в реку катунь. недалеко от ручья есть дерево желаний. каждый может подойти к нему, загадать желание и привязать к его ветвям ленточку. и красуется это дерево, как разноцветная ёлка. еще я бы хотел побывать на том месте, где сливаются реки бия и катунь, образуя реку обь. и с приятными воспоминаниями и впечатлениями вернуться домой.
ich möchtein die stadtgehen, weil esbijskist sehr schön,vor allem in deraltai-gebirge.diebergehat fastbis zumhimmel.an der unterseitesind siegrünauswachsen rund umden wald.above -licht, und dietop -nur dieblau und weiß.ich möchteden heiligenbach, derein reinesgletscherwasseraus den bergendes flusseskatunist, zu besuchen.in der nähe desbachesgibt es einen baumwünsche.jeder kannkommenund sich etwas wünschenund binden sie esan die zweigedes bandes.undschmückten denbaum alsbunten baum.ich möchte auchan die stelle, wo die flüssekatunundbiya,bildenden flussobbesuchen.undmit angenehmenerinnerungen und erfahrungenwieder nach hause.
#include <iostream>
#include <time.h>
#include <stdio.h>
using namespace std;
int main()
{
srand(time(NULL));
int mas[100][100] = {};
int side;
cout << "Введите размер стороны квадратной матрицы: ";
cin >> side;
for (int i = 0; i < side; i++)
{
for (int j = 0; j < side; j++)
{
mas[i][j] = 10 + rand() % (99 - 10 + 1);
cout << mas[i][j] << " ";
}
cout << endl;
}
int max = mas[0][0];
int max_ind_i = 0;
int max_ind_j = 0;
int min = mas[0][0];
int min_ind_i = 0;
int min_ind_j = 0;
for (int i = 0; i < side; i++)
{
for (int j = 0; j < side; j++)
{
if (max < mas[i][j])
{
max = mas[i][j];
max_ind_i = i;
max_ind_j = j;
}
if (min > mas[i][j])
{
min = mas[i][j];
min_ind_i = i;
min_ind_j = j;
}
}
}
cout << "Максимум: " << max << " \nИндексы: " << max_ind_i << " " << max_ind_j << "\nМинимум: " << min << " \nИндексы: " << min_ind_i << " " << min_ind_j;
}
Объяснение:
Максимальный размер массива - 100 на 100
#include <iostream> // Библиотека ввода - вывода
#include <time.h> // Библиотека для работы со временем
#include <stdio.h> // Библиотека, содержащая функцию рандома
using namespace std; // Пространство имён
int main()
{
srand(time(NULL)); // При каждом запуске программы будут новые псевдослучайные числа
int mas[100][100] = {}; // Двумерный массив 100 на 100, заполненный нулями
int side; // Переменная, хранящая сторону квадратной матрицы
cout << "Введите размер стороны квадратной матрицы: "; // Вывод сообщения в консоль
cin >> side; // Вводим сторону матрицы с клавиатуры
for (int i = 0; i < side; i++) // Цикл для заполнения и вывода массива
{
for (int j = 0; j < side; j++) // Цикл для заполнения и вывода массива
{
mas[i][j] = 10 + rand() % (99 - 10 + 1); // Заполнение двумерного массива псевдослучайными числами в диапазоне [10, 99]
Формула: a + rand() % ( b - a + 1)
cout << mas[i][j] << " "; // Выводим элемент массива
}
cout << endl; // Переносим на следующую строку (для красивого вывода)
}
int max = mas[0][0]; // Максимум = первому элементу массива
int max_ind_i = 0; // Индекс max i = 0
int max_ind_j = 0; // Индекс max j = 0
int min = mas[0][0]; // Минимум = первому элементу массива
int min_ind_i = 0; // Индекс min i = 0
int min_ind_j = 0; // Индекс min j = 0
for (int i = 0; i < side; i++) // Цикл для прохода по всем элементам массива
{
for (int j = 0; j < side; j++) // Цикл для прохода по всем элементам массива
{
if (max < mas[i][j]) // Ищем максимум в массиве
{
max = mas[i][j]; // Присваиваем переменной max значение, которое оказалось больше ее
max_ind_i = i; // Запоминаем индекс
max_ind_j = j; // Запоминаем индекс
}
if (min > mas[i][j]) // Ищем минимум в массиве
{
min = mas[i][j]; // Присваиваем переменной min значение, которое оказалось меньше ее
min_ind_i = i; // Запоминаем индекс
min_ind_j = j; // Запоминаем индекс
}
}
}
cout << "Максимум: " << max << " \nИндексы: " << max_ind_i << " " << max_ind_j << "\nМинимум: " << min << " \nИндексы: " << min_ind_i << " " << min_ind_j; // Выводим ответ
}