Задание ОГЭ

Кем же я могу быть?

Участник
Автор темы
66
7
Добрый день. Быть может, некоторые знают, что сегодня был проведён Основной государственный экзамен по информатике. Всё бы ничего, но мне в последнем задании попалось ужаснейшая задача: на неё даже решения нет на официальном сайте "РешуОГЭ". Я на короткое время впал в отчаяние, но затем решил действовать несмотря на всё! Таким образом написал подобную программу на PascalABC:
var a, b, c, i: integer;
begin
readln(a);
for i:= 1 to a do begin
readln(b);
if b mod 3 = 0 then c:=c+b;
end;
writeln(c);
end.
Хоть я и знаю: многие не интересуются этим языком программирования, но если кратко объяснять, то я примкнул к логике, что если 2 и более любых числа делятся на 3, значит: их сумма делится на 3. Проблема в том, что эта логика не всегда будет правильно работать, ведь возможно в последовательности будет только одно число кратное 3. Я что ли им гений-программист, чтобы корректно выполнить это задание?

У кого-нибудь есть идеи, как можно было это выполнить иначе за 15 минут на любом языке?

Сам понимаю: всё, что делаю сейчас, никак не повлияет на прошлое, но всё же не могу же я быть таким неудачником.
 

Вложения

  • Задание.png
    Задание.png
    15.9 KB · Просмотры: 63
  • Ха-ха
Реакции: genius.company

ChromiusJ

Известный
Друг
4,897
3,184
Добрый день. Быть может, некоторые знают, что сегодня был проведён Основной государственный экзамен по информатике. Всё бы ничего, но мне в последнем задании попалось ужаснейшая задача: на неё даже решения нет на официальном сайте "РешуОГЭ". Я на короткое время впал в отчаяние, но затем решил действовать несмотря на всё! Таким образом написал подобную программу на PascalABC:
var a, b, c, i: integer;
begin
readln(a);
for i:= 1 to a do begin
readln(b);
if b mod 3 = 0 then c:=c+b;
end;
writeln(c);
end.
Хоть я и знаю: многие не интересуются этим языком программирования, но если кратко объяснять, то я примкнул к логике, что если 2 и более любых числа делятся на 3, значит: их сумма делится на 3. Проблема в том, что эта логика не всегда будет правильно работать, ведь возможно в последовательности будет только одно число кратное 3. Я что ли им гений-программист, чтобы корректно выполнить это задание?

У кого-нибудь есть идеи, как можно было это выполнить иначе за 15 минут на любом языке?

Сам понимаю: всё, что делаю сейчас, никак не повлияет на прошлое, но всё же не могу же я быть таким неудачником.
какой-то долбаебизм,почему не учитывается само число,от которого определяется кратность,если с ним будет учитываться,ответ должен быть 24
Python:
count = int(input("Введите количество чисел в последовательности: "))
numbers = []

for i in range(count):
    num = int(input("Введите число: "))
    numbers.append(num)

summa = sum(num for num in numbers if num != 3 and num % 3 == 0)
print("сумма чисел, кратных 3:", summa)
вот на пэтоне например,хз как на Паскале будет

а хотя,возможно я понял прикол
 

Fomikus

Известный
Проверенный
472
341
какой-то долбаебизм,почему не учитывается само число,от которого определяется кратность,если с ним будет учитываться,ответ должен быть 24
Python:
count = int(input("Введите количество чисел в последовательности: "))
numbers = []

for i in range(count):
    num = int(input("Введите число: "))
    numbers.append(num)

summa = sum(num for num in numbers if num != 3 and num % 3 == 0)
print("сумма чисел, кратных 3:", summa)
вот на пэтоне например,хз как на Паскале будет


а хотя,возможно я понял прикол
if num != 3 не понял прикола, оно там зачем?
 
  • Нравится
Реакции: Savok

ChromiusJ

Известный
Друг
4,897
3,184
if num != 3 не понял прикола, оно там зачем?
типо проверка на число ,от которого проверяют кратность,щас подумал,что не код а параша,так что стоит побольше мозгами повертеть,и понять что да,первое число - количество чисел
 

Кем же я могу быть?

Участник
Автор темы
66
7
Кажется, я понял: я идиот. В задании же спрашиется, чтобы не сумма была кратна 3, а чтобы вводимые числа были кратны 3. Почему я такой невнимательный? Я думал, что, если ввести 2, 1, 14, то программа должна будет вывесли 15, потому что 15 делится на 3. Ох, что за вздор, всё оказалось намного легче. Спасибо, что успокоили.
 

Digger Man

Любитель Linux
Модератор
1,635
1,116
Если я все правильно понял, то тебе надо типо ввести число, оно равно скок чисел ты можешь ввести, потом каждое число чекается на кратность и прибавляется к остальным кратным?
C:
#include <stdio.h>
int main() {
    int n, b, a = 0;
    scanf("%d", &n); // вводим число котора типа,скока чисел можно ввести
    for (int i = 0; i < n; i++) {
        scanf("%d", &b); // вводим число
        if (b % 3 == 0) { // если остаток 0
            a += b; // прибавляем
        }
    }
    printf("%dn", a);
    return 0;
}