Форум программистов, компьютерный форум CyberForum.ru

Сложение по модулю (2^32) -1) - C++

Восстановить пароль Регистрация
Другие темы раздела
Boost C++ Сериализировать структуру в файл с помощью библиотеки boost http://www.cyberforum.ru/cpp-beginners/thread1088737.html
привет всем) Есть структура: struct MyStruct { vector<string> v; int n; }; Как мне сериализировать эту структуру в файл с помощью библиотеки boost?
C++ Задача с картой лабиринта Определить является ли лабиринт правильным. карта представляет собой лабиринт 1=стена, 0=проход карта представляет собой лабиринт надо определить является ли лабиринт правильным правильный лабиринт - такой лабиринт, в котором из любого места в любое другое можно попасть только одним способом. http://www.cyberforum.ru/cpp-beginners/thread1088725.html
C++ Метод Волдера (кордик)
Прошу, помогите написать программу воссоздание функции обратного тангенса методом волдера. Добавлено через 1 час 3 минуты аап
C++ Написать генератор фамилий
Хочу написать генератор фамилий, пока глобальных проблем нет, ток вот ошибку выдает, если, судя по всему, используется "ъ", когда не используется, то работает. посмотрите пожалуйста, заранее спасибо. #include <iostream> using namespace std; string s; int q,n; int main()
C++ Какой вид имеет итерационная формула для вычисления 1/sqrt http://www.cyberforum.ru/cpp-beginners/thread1088698.html
Прошу помочь решить вопрос: какой вид имеет итерационная формула для вычисления 1/sqrt.
C++ Решения СЛАУ методом Гаусса по шагу Добрый день! Очередной раз прошу советов! Имеется СЛАУ, которое требуется решить методом Гаусса на с++. Соответственно, на тетрадке решить не проблема. В с++ с тем что я только осваиваю азы, не совсем понимаю как реализовать: Допустим есть такой код (взятый с этого же форума): подробнее

Показать сообщение отдельно
gunslinger
случайный прохожий
 Аватар для gunslinger
1097 / 715 / 184
Регистрация: 20.07.2013
Сообщений: 1,970
04.02.2014, 15:30     Сложение по модулю (2^32) -1)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
  const n = 32;
  int oneMas[n] = {0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1};
  int twoMas[n] = {0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0};
  int i, temp, Res[n+1] = {0}, ResMod[n];
 
// сложение
  for (i = n-1; i >= 0; i--)
  {
    temp = oneMas[i] + twoMas[i] + Res[i+1];
    Res[i+1] = temp%2;
    Res[i] = temp/2;
  }
 
// результат по модулю 2^32-1
// случай, когда сумма >= 2^32; вычитаем 2^32-1
  while (Res[0])  // можно заменить на if, так как будет максимум один "проход"
  {
    for (i = n-1; i >= 0; i--)
    {
      Res[i+1]--;
      if (Res[i+1] < 0)
      {
        Res[i]--;
        Res[i+1] += 2;
      }
    }
  };
// (частный) случай, когда осталось ровно 2^32-1; "обнуляем"
  temp = 0;
  for (i = 1; i <= n; i++)
    if (Res[i])
      temp++;
  if (temp == n)
    for (i = 1; i <= n; i++)
      Res[i] = 0;
 
  for (i = 1; i <= n; i++)
    ResMod[i-1] = Res[i];
 
Текущее время: 16:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru