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

Мультипликативно обратный элемент - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Создание горячих клавиш в windows http://www.cyberforum.ru/cpp-beginners/thread315218.html
господа програмисты если кто знает или у кого то есть код,подскажите как осуществить создание горячей клавиши? допустим я нажимаю f10-и показывается консольное окно с надписью "Hello!!!" (ну это не принципиально). Буду очень благодарен за оказанную помощь(очень надо)!!!
C++ Не могу понять в чем заключается ошибка. А. Создать файл, содержащий сведения о наличии билетов и рейсах, пункт назначениЯ, ВРЕМЯ ВЫЛЕТА,время прибытия, кол-во свободных мест в самолете. Количество записей- 25. Б.Найти время отправления самолетов в город X, наличие свободных мест на рейс в городе X с временм отправления Y. Значение X, Y - вводятся по запросу с терминала. #include <iostream.h> #include <conio.h> #include... http://www.cyberforum.ru/cpp-beginners/thread315216.html
Кабздец C++
Даний масив цілих чисел. а) Усі елементи, що кінчаються цифрою 4, зменшити вдвічі. б) Усі парні елементи замінити на їхні квадрати, а непарні подвоїти. в) Парні елементи збільшити на а, а від елементів з парними номерами відняти Помогите парни пожалуйста..)
C++ библиотека STL
Доброго всем дня) задача состоит в том, что рациональное число можно представить записью с двумя полями: числитель и знаменатель. Дан стек из N рациональных чисел. Создать новый список из дробей, обратных исходным (числитель и знаменатель меняются местами), отсортировать его по убыванию дробей. Удалить из этого списка максимальное и минимальное значения. Вот код который есть, не хватает полей ,...
C++ Списки http://www.cyberforum.ru/cpp-beginners/thread315203.html
Нужно создать однонаправленный список,для этого реализовать функции работы со списком: -добавление нового элемента; -вывод/удаление k-того элемента от текущей позиции влево; -вывод/удаление текущего элемента; -поиск элемента по значению; -печать всего списка. Вот что я смогла сделать #include <stdio.h>
C++ Удаление из списка двух повторяющихся элементов Дан список из n целых чисел a1,a2,...an. Удалить из списка все элементы, входящие в него в точности два раза. #include <iostream.h> #include <conio.h> struct list { int info; list *next,*pred; }; void MakeL(list *&head) подробнее

Показать сообщение отдельно
MaXiDRoM_90
11 / 11 / 1
Регистрация: 21.03.2010
Сообщений: 47
07.06.2011, 20:53  [ТС]     Мультипликативно обратный элемент
Вот что у меня получилось:

#include <iostream>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <ctime>

using namespace std;

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
39
40
41
42
43
44
45
46
47
48
49
50
unsigned __int64 binpow (unsigned __int64 a, unsigned __int64 n) 
{
    if (n == 0)
        return 1;
    if (n % 2 == 1)
        return binpow (a, n-1) * a;
    else {
        unsigned __int64 b = binpow (a, n/2);
        return b * b;
    }
}
 
int main()
{
    unsigned __int64 a=123123;
    unsigned __int64 m=1;  //МОДУЛЬ
 
    /*нужно найти мульт.обр. по модулю 2^64,фи(2^64)=2^63 
    
    обратимы все нечетные числа,поэтому нужно проверить на четность,т.е. последний бит в записи числа*/
 
    int i;
    i=a;
    
    i=i&1;
    if(i==0)
    {
        cout<<"Neobratim\n";
        getch();
        return 0;
    }
    
    m<<=63;     //два в шестдесят третьей
    m=m-1;
    clock_t start=clock();
    unsigned __int64 c=binpow(a,m);
    /*for(unsigned __int64 i=0;i<m;i++)
    {
        c=c*a;
    }*/
    clock_t finish=clock();
    double workTime=(double)(finish - start) / CLOCKS_PER_SEC;
 
    cout<<c<<" za"<<workTime<<" sec";
 
 
    
    getch();
    return 0;
}
время выполнения 0секунд.
Может кому понадобится
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru