aa276568
?>

Напишите программу в С++, которая в последовательности целых чисел определяет количество нечётных чисел, кратных 3. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести два числа: длину последовательности (завершающий 0 не учитывается) и количество нечётных чисел, кратных 3.Программа должна быть рабочей

Информатика

Ответы

Viktoromto

#include <iostream>

#include <vector>

#include <ctime>

using namespace std;

int main() {

setlocale (LC_ALL, "Russian");

int counter = 0;

vector<int> numbers;

int buffer = 0;

do {

   cin >> buffer;

     numbers.push_back(buffer);

 } while (buffer != 0||numbers.size()==1000);

 numbers.pop_back();

 for(int i = 0; i<numbers.size(); ++i) {

  if(numbers[i]%3==0&&numbers[i]%2!=0) {

  ++counter;

}

}

cout << endl << "Колво нечётных чисел, кратных 3: " << counter;  

cout << endl << "Всего чисел: " << numbers.size();  

}

Шиморянов Мария1866
Дважды подряд записать трехзначное число — это значит умножить его на 1001. Умножив на 1000, мы получаем исходное число с тремя нулями. Добавляем к полученному числу еще один раз исходное число. Получается число, в записи которого дважды повторяются цифры исходного числа.
Последовательно разделить на 13, 11 и 7 – значит разделить число на произведение 13 * 11* 7, которое равно 1001.
Получается, что мы число сначала умножаем на 1001, а после делим на 1001. Естетственно, у нас получится исходное число:
(n * 1001) / (13 * 11 * 7) = (n * 1001) / 1001 = n.
turoverova5
Дважды подряд записать трехзначное число — это значит умножить его на 1001. Умножив на 1000, мы получаем исходное число с тремя нулями. Добавляем к полученному числу еще один раз исходное число. Получается число, в записи которого дважды повторяются цифры исходного числа.
Последовательно разделить на 13, 11 и 7 – значит разделить число на произведение 13 * 11* 7, которое равно 1001.
Получается, что мы число сначала умножаем на 1001, а после делим на 1001. Естетственно, у нас получится исходное число:
(n * 1001) / (13 * 11 * 7) = (n * 1001) / 1001 = n.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Напишите программу в С++, которая в последовательности целых чисел определяет количество нечётных чисел, кратных 3. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000. Программа должна вывести два числа: длину последовательности (завершающий 0 не учитывается) и количество нечётных чисел, кратных 3.Программа должна быть рабочей
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

aleksandramir90
kolgatin69
guujuu
leobashkurov1089
Yelena Dilyara
adman7
Shevtsov1818
vasavto1
ntinyakova
nelli-bi6
amramzi
Sergei1805
Yurevna_Kharkchinov1302
Aleksandr_Vasilev
Мария-Кострыгина175
▲