Форум программистов, компьютерный форум, киберфорум
VASSUV
Войти
Регистрация
Восстановить пароль
Оценить эту запись

Возведение в степень!

Запись от VASSUV размещена 22.09.2013 в 11:01

Возведение в степень для больших строчных чисел
Цитата:
Сообщение от VASSUV Посмотреть сообщение
silent_1991, Выходит так если по той же схеме
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
longINT longINT::power(longINT M)
{
    longINT res("2"),
            t = *this;
    int i,n;
    char c;
    char s1[10000] = "";
    strcpy(s1, M.str) ;
    char s2[10000] = "";
    c = s1[strlen(s1)-1];
    while (s1[0] != '0')
    {
        if(c == '1' || c == '3' || c == '5' || c == '7' || c == '9')
            strcat(s2,"1");
        else
            strcat(s2,"0");
        M = M/res;
        strcpy(s1, M.str);
        c = s1[strlen(s1)-1];
    }
    res = longINT("1");
    n = strlen(s2);
    while (i<n) 
    {    
        if (s2[i]=='1') res  = res * t;
        t  = t * t;
        i++;
    }
    return res;
}
Размещено в Без категории
Показов 514 Комментарии 0
Всего комментариев 0
Комментарии
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.