Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
0 / 0 / 0
Регистрация: 09.09.2018
Сообщений: 10

Контрольная сумма

10.03.2023, 17:34. Показов 1442. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
вот мой код, помогите понять почему ответы отличаются с тестовыми?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <vector>
 
using namespace std;
 
int main() {
    int n;
    cin >> n;
    vector<int> arr(n);
    for (int i = 0; i < n; i++) {
        cin >> arr[i];
    }
    int sum = 0;
    for (int i = 0; i < n; i++) {
        sum += arr[i] * 113 % 10000007;
    }
    cout << sum << endl;
    return 0;
}
Условия задачи:
Дана последовательность чисел для которой нужно посчитать контрольную сумму. Делается это следующим образом (для всех элементов последовательности):

элемент последовательности добавляем к текущему результату;
умножаем то что получилось на 113;
результат берем по модулю 10000007.
Получившееся число и будет контрольной суммой.

Формат ввода
В первой строке, положительное число n
Во второй строке, последовательность из n целых неотрицательных чисел разделённых пробелами


Формат вывода
Одно целое число.

Пример 1
Ввод
2
429 338
Вывод
5516095
Пример 2
Ввод
3
173197228 444651316 386631238
Вывод
3734500
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
10.03.2023, 17:34
Ответы с готовыми решениями:

Контрольная сумма QT
Нужно посчитать контрольную сумму файла. Есть ли стандартная библиотека в Qt 3, что бы реализовывало это или надо скачивать отдельно...

Контрольная сумма
Для нескольких файлов требуется вычислить контрольную сумму. Обработку каждого массива выполнить в отдельном процессе

Контрольная сумма
Нам дали эту структуру для подсчета КС, можете пожалуйста объяснить как она работает typedef unsigned char u1; enum { bits = 8, ...

4
7804 / 6568 / 2988
Регистрация: 14.04.2014
Сообщений: 28,705
10.03.2023, 17:42
"элемент последовательности добавляем к текущему результату". У тебя же не так.
0
0 / 0 / 0
Регистрация: 09.09.2018
Сообщений: 10
10.03.2023, 18:09  [ТС]
да действительно, но вот я исправил
C++
1
sum = (sum + arr[i]) * 113 % 10000007;
для 1ого примера сходится вывод, а для 2ого нет
0
 Аватар для SmallEvil
4086 / 2975 / 813
Регистрация: 29.06.2020
Сообщений: 11,000
10.03.2023, 23:50
Viktpkun, int переполняется, возьмите больший тип для CRC (sum).

Добавлено через 4 минуты
Или только при вычислении приводите к большему типу
0
Злостный нарушитель
 Аватар для Verevkin
10643 / 5794 / 1279
Регистрация: 12.03.2015
Сообщений: 26,744
11.03.2023, 01:14
C++
1
2
3
4
5
6
long crc(int* x, size_t count)
{
  long sum = 0;
  while (count--) sum = ((sum + *x++) * 113) % 0x989687;
  return sum;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.03.2023, 01:14
Помогаю со студенческими работами здесь

Контрольная сумма
В ТЗ сказано вычислить контрольную сумму строки. Не нашёл исходных кодов или алгоритмов. Мне любую, но склонен к md5

Udp контрольная сумма
Всем hi ! Есть udp пакет и я пытаюсь вычислить udp-контрольную сумму. typedef unsigned char uint8_t; typedef unsigned short uint16_t; ...

Контрольная сумма программы
Не знаю к какой теме это лучше отнести. У нас разработчики железок используют для написания программ С++ компилятор, который им...

Контрольная сумма CRC16
Всем доброго времени суток, нужно посчитать контрольную сумму, я уже измучился, не понимаю почему считает не верно... Есть код на дельфи: ...

.hex контрольная сумма С++
помогите я написал программу которая изменяет данные в хекс, мне нужно рассчитать контрольную сумму строки. писал на С++. пример записи...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru