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

Задача с тимуса - C++

Восстановить пароль Регистрация
 
jdbaha
0 / 0 / 0
Регистрация: 14.03.2012
Сообщений: 7
02.07.2012, 02:01     Задача с тимуса #1
совсем недавно в программировании встретилась задачка с тимуса 1295 проблема в том что в ней используются очень большие числа. и что делать в таком случае?
мой вариант решения этой задачи
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
#include <iostream>
 
unsigned long long int stepen(int x, int y)
{
    unsigned long long int result=x;
    for(int i=1;i<y;i++)
    {
        result=result*x;
    }
    return result;
}
 
int main()
{
    int answer;
    unsigned int n;
    unsigned long long int l;
    std::cin>>n;
    if(n==0)
    {
        std::cout<<n;
        return 0;
    }
    l=1+stepen(2,n)+stepen(3,n)+stepen(4,n);
    //std::cout<<l<<"\n";
    for(answer=0;l%10==0;l=l/10)
        if(l%10==0)
            answer++;
    std::cout<<answer;
    return 0;
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2012, 02:01     Задача с тимуса
Посмотрите здесь:

C++ задача с Тимуса
задача с Тимуса C++
C++ Задача с тимуса
C++ Задача с Тимуса 1446
Олимпиадная задача с тимуса №1209 C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
02.07.2012, 02:02     Задача с тимуса #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
смотреть в сторону длинной арифметики, тут к примеру http://e-maxx.ru/algo/big_integer
Avazart
 Аватар для Avazart
6901 / 5141 / 252
Регистрация: 10.12.2010
Сообщений: 22,606
Записей в блоге: 17
02.07.2012, 03:10     Задача с тимуса #3
Для справки:
Если задача была бы не учебного плана, то можно было бы использовать готовую билиотеку gmp или mprf/mpir
http://www.cyberforum.ru/blogs/131347/blog488.html
diagon
Higher
 Аватар для diagon
1920 / 1186 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
02.07.2012, 08:00     Задача с тимуса #4
Сложновато тут длинной арифметикой решать(тривиальная реализация, вроде той, что на e-maxx'e, по времени не пройдет).
Здесь надо думать в сторону теории чисел, либо комбинаторики.
Yandex
Объявления
02.07.2012, 08:00     Задача с тимуса
Ответ Создать тему
Опции темы

Текущее время: 15:14. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru