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

Быстро возвести в квадрат число заданной длины (<16 байт) - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ почему не добавляет элемент? http://www.cyberforum.ru/cpp-beginners/thread886965.html
insert() должен добавить один элемент,но он неправильно работает,где ошибка? #include "stdafx.h" #include <iostream> using namespace std; void Insert(const int index,const int value,int * arr,const int size); int _tmain(int argc, _TCHAR* argv) { int * arr=new int; for(int i=0;i<10;i++)
C++ Запись и чтение с файла Здравствуйте,помогите пожалуйста ..есть две структуры, но каждая записывается и считывается с разных файлов, не посоветует как можно объединить,чтоб все записывалось и считывалось в один файл? void List::outFilesamolet(char * path) { FILE *out; if ((out = fopen(path,"wb")) == NULL) { cout << "Файл " << path << "не может быть открыт!" << endl; return; } struct samoletTemp {... http://www.cyberforum.ru/cpp-beginners/thread886947.html
Структуры (cведения об абонентах АТС: ФИО владельца телефона, год установки телефона, номер телефона, тип установки телефона, льгота) C++
Сведения об абонентах АТС. Структура должна содержать следующую информацию: фамилию, имя, отчество владельца телефона, год установки телефона, номер телефона, тип установки телефона (спаренный или нет), льготу (процентную скидку при оплате). # include <stdio.h> # include <conio.h> # include <iostream.h> const LEN = 40,LEN3=120; struct atc {char fam ,ima,otch;
C++ Упростить задачу (Таблица футбольного чемпионата задана квадратной матрицей - определить номера команд, прошедших чемпионат без поражений)
помогите пожалуйста с с++ здесь дана задача и весь код от нее но мне нужно только б) кому не сложно выделите именно нужное Таблица футбольного чемпионата задана квадратной матрицей порядка n, в которой все элементы, принадлежащие главной диагонали, равны нулю, а каждый элемент, не принадлежащий главной диагонали, равен 2, 1 или 0 (числу очков, набранных в игре: 2 — выигрыш, 1 — ничья, 0...
C++ Как глобальную переменную засунуть в структуру? http://www.cyberforum.ru/cpp-beginners/thread886913.html
#include<stdio.h> #include<malloc.h> #include<string.h> typedef struct Item { char *info; struct Item *next; }Item;
C++ Найти пару точек расстояние между которыми максимально(Исправить программу ) В трехмерном пространстве заданы координаты n точек составить программу определяющую пару точек расстояние между которыми максимально Сама программа есть но нужно ее изменить под dev-c++ и сделать как можно проше (чтобы можно было ее объяснить ) #include <cmath> #include <cstdlib> #include <ctime> #include <iomanip> #include <iostream> struct Point { double x, y, z; подробнее

Показать сообщение отдельно
drdrink
39 / 39 / 1
Регистрация: 13.05.2013
Сообщений: 103
01.06.2013, 17:42     Быстро возвести в квадрат число заданной длины (<16 байт)
Цитата Сообщение от vlad_light Посмотреть сообщение
Поделись, пожалуйста! У меня размер базы 32 бита (беззнаковый инт)

Использую типа unsigned unt и unsigned long long для переносов при суммировании (хотя можно и без него, но к скорости это прироста не даст).
я же написал, что числа около 16 байт Вот у меня, например, БПФ работает медленнее, чем алгоритм Карацубы. Он начинает выигрывать на числах порядка 1 миллиона бит, а такие я не использую.
32 это ты зря, потому что тебе как раз нужны будут 16 бит, специально для переносов, а unsigned long long для переносов получается некорректно, сам пробовал сначала такой тип, но убедился что работает неправильно

Добавлено через 2 минуты
iama, не соглашусь с тобой, есть алгоритмы работающие быстрее чем умножение само на себя, я имею ввиду чисел длинной до 70 тысяч бит, после 100 я думаю самый оптимальный алгоритм, это алгоритм Шёнгахе-Штрассена, как раз использующий в себе БПФ
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru