Василиса составляет 5-значные числа в 6-ичные системе счисления. Цифры в числе могут повторяться, но никакие две чётные или две нечётные не должны стоять рядом. Сколько чисел может составить Василиса
Английский = a + d + f + g = 28. Немецкий = b + e + f + g = 30. Французский = c + d + e + f = 42. Английский и немецкий = g + f = 8. Английский и французский = d + f = 10. Немецкий и французский = f + e = 5. Все три языка = f = 3.
А) Чтобы найти учеников, изучающих только английский, нужно вычесть "d + f + g". d = (d + f) - f = 10 - 3 = 8. g = (g + f) - f = 8 - 3 = 5. Английский = 28 - 13 = 15.
Французский = 42 - (d + e + f). e = (f + e) - f = 5 - 3 = 2.
42 - (8 + 2 + 3) = 42 - 13 = 29.
Немецкий = 30 - (e + f + g) 30 - (2 + 3 + 5) = 30 - 10 = 20.
Б) Складываем тех, кто знает английский/немецкий/французский и вычитаем 100.
Немецкий = b + e + f + g = 30.
Французский = c + d + e + f = 42.
Английский и немецкий = g + f = 8.
Английский и французский = d + f = 10.
Немецкий и французский = f + e = 5.
Все три языка = f = 3.
А) Чтобы найти учеников, изучающих только английский, нужно вычесть "d + f + g".
d = (d + f) - f = 10 - 3 = 8.
g = (g + f) - f = 8 - 3 = 5.
Английский = 28 - 13 = 15.
Французский = 42 - (d + e + f).
e = (f + e) - f = 5 - 3 = 2.
42 - (8 + 2 + 3) = 42 - 13 = 29.
Немецкий = 30 - (e + f + g)
30 - (2 + 3 + 5) = 30 - 10 = 20.
Б) Складываем тех, кто знает английский/немецкий/французский и вычитаем 100.
100 - (15 + 29 + 20) = 100 - 64 = 36.
Круги смотри во вложении.
#include <iostream>
#include <conio.h>
using namespace std;
int main()
{
int Pcount = 0; // На самом деле, особо и не нужен, нужен лишь для того, чтобы вывести
// строчку, что символ p не найден
int Count = 0; // счетчик для хранения количества не пустых строк
cout << "Entered string." << endl;
char *str = new char[500]; // Создаем динамический массив на 500 элементов
gets_s((char*)str, 500); // Функция, принимающая на ввод строку.
for (int i = 0; i < 500; i++) // Перебор символов в поиске 'p'
{
if (str[i] == 'p') //если i-тый элемент массива равен символу 'p', то проваливаемся дальше
{
Pcount++; // Инкриментируем, чтобы вывести все туже строчку о том, что символа p нету)))
for (int j = 0; j < i; j++) // перебираем символы для вывода. i - в этой строке указывает где был найден символ 'p'.
{
cout << str[j];
}
cout << endl;
break; // оператор выхода из цикла.
}
}
if (Pcount == 0) // Если символов p не вводилось, то Pcount будет равен 0
{
cout << "p is not found" << endl; // и выведеться эта строка.
}
cout << "Entered 5 string's" << endl;
for (int i = 0; i < 5; i++) // В этом цикле запрашиваем строку 5 раз
{
gets_s((char*)str, 500); // Функция принимающуя на ввод строку.
if (str[0] != '\0') // Этим условием мы проверяем первый элемент массива на нуль терминатор
// если он не равен нуль терминатору , то увеличиваем счетчик Count
{
Count++; //т.о он будет хранить кол-во не пустых строк.
}
}
cout << Count << endl; // выводим на экран кол-во не пустых строк
delete[] str;//освобождаем память
_getch();// Содержиться в conio.h (для того тобы окно не закрывалось)
return 0;
}