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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
wowofbob
2 / 2 / 0
Регистрация: 19.01.2013
Сообщений: 32
#1

При вызове len(1) 1 как-то преобразуется в двойку сразу, ничего не пойму. Кажется из-за этого и массив length дальше индекса 2 нули имеет. - C++

03.03.2013, 09:09. Просмотров 190. Ответов 0
Метки нет (Все метки)

Алгоритм нахождения максимальной длины сиракузской последоваетльности среди чисел до миллиона:
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
int MaxLen(const long unsigned int limit) {
    term[last] = 1;
    length[last] = 1;
    long unsigned int maxLen = 1;
    for (long unsigned int i = 2; i <= limit; ++i) {
        //cout << term[i] << ' ' << length[i] << endl;
        int thisLen = len(i);
        if (maxLen < thisLen) {
            maxLen = thisLen;
        }
    }
    return maxLen;
}
 
int main() {
    //int * length = new int [10000000];
    //int * terms = new int [10000000];
    
    //cout << MaxLen(10) << endl;
    //cout << length[5] << endl;
 
    term[1] = 1;
    length[1] = 1;
    len(2);
    cout << len(1) << endl;
    //for (int i = 1; i <= 3; ++i) {
    //  cout << length[i] << endl;
    //}
    system("pause");
}
При вызове len(1) 1 как-то преобразуется в двойку сразу, ничего не пойму. Кажется из-за этого и массив length дальше индекса 2 нули имеет. В чем я налажал?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru