Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Возможно переписать программу? https://www.cyberforum.ru/ cpp/ thread153534.html
Есть программа Upgrade UA.exe хочу запустить ее на windows mobile 6. Возможно ли ее переписать.
scanf C++
Пусть нужно читать из текста слова, пропуская все символы, кроме a-z и A-Z. То есть из текста Hello, world! ololo O_o получить только Hello world ololo O o Меня интересует, можно ли это...
C++ Вернуть stdin в консоль
Допустим я перенаправил поток stdin/stdout в файл с помощью функции freopen. Как заставить его снова работать с консолью? Добавлено через 9 минут Нашел. #include <cstdlib> #include <stdio.h>...
C++ Прошу помочь.Подключение dll на неуправляемом С/С++ Возникла проблема.Есть рабочая dll, необходимо подключить к CLR приложению. Подключение происходит нормально. Все функции работают нормально кроме одной(хотя dll проверял все работает в обычных... https://www.cyberforum.ru/ cpp/ thread152917.html
C++ Не сразу закрывающаяся программа https://www.cyberforum.ru/ cpp/ thread152799.html
Есть команды в терминале.. вроде telnet или sql, эти программы запускаешь и они остаются открытыми пока не дашь команду, например, quit. Во время работы программы она показывает знак приглашения...
C++ Парсер на С
вопшем есть файл с текстом..... в етом файле есть какие даные(мусор)...и есть дни: Понедельник,Вторник,среда......с етого файла нада вывести ети дни в порядке нахождениэ... ето походу несложная...
C++ Кто нибудь подскажет где можно найти исходник С/C++ алгоритм сжатия
Народ помогите, у меня времени нет чтобы самому разрабатывать алгоритм сжатия очень нужен алгоритм ещё лучше если на Asm (MMX, SSE2-3, SIMD) чтобы без потери данных а с восстановлением. Может какие...
C++ ANSI или UNICODE Всем привет!!! У меня возникла такая ситуация что использовать в WinApi программирование ANSI или UNICODE, где-то читал, что UNICODE работает быстрее, чем ANSI, так как при использование ANSI он ... https://www.cyberforum.ru/ cpp/ thread151437.html
C++ mingw и lib https://www.cyberforum.ru/ cpp/ thread151211.html
Как в mingw в коде подключить файл lib, #pragma comment(lib, "Gdi32.lib") не помогает. А то пытаюсь использовать SetTextColor и подобные функции, а без полезно без Gdi32.lib. Кто может подскажите.
C++ Шилдт Полный справочник по С++ 4.0 Собственно ищу код к справочнику, о котором упоминалось на обложке. https://www.cyberforum.ru/ cpp/ thread150953.html
Эксперт С++
4707 / 2532 / 753
Регистрация: 18.08.2009
Сообщений: 4,550
27.01.2011, 12:25 0

Задачи для тренировки и лучшего понимания

27.01.2011, 12:25. Просмотров 407645. Ответов 1272
Метки (Все метки)

Ответ

Цитата Сообщение от Mr.X Посмотреть сообщение
valeriikozlov, так вы можете сообщить чему у вас получилась равна последняя цифра в факториале 375 при сохранении трех цифр?
Mr.X, поздравляю Вы что называется "сорвали Джекпот".
По крайней мере здесь:
http://www.e-olimp.com.ua/problems-class/
нет такого теста, именно там у меня прошел вариант с сохранением 3-х последних цифр все тесты. Кстати я где-то ранее писал, что этот сайт не очень хорош по набору тестов (вот еще одно подтверждение).
А другой сайт, который считаю в этом плане хорошим, на котором я всегда проверял решения, я уже писал закрылся до 1 февраля. Как откроется, обязательно проверю. Посмотрим как там с этим тестом.

Добавлено через 23 минуты
Mr.X,
Я даже больше скажу. Оказывается для этой задачи мало и 4-х последних цифр запоминать. Точно хватит минимум 6-ти последних цифр. В доказательство запустите Ваш немного переделанный код и введите N=9999:
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
#include <iostream>
//////////////////////////////////////////////////////////////////////////////////////
int  get_last_nonzero_digit_of_factorial(int N)
{
    __int64 last_dig = 1; // в этой переменной будем хранить последние 6 цифр
    __int64 last_dig2 = 1;// в этой переменной будем хранить последние 5 цифр
    for(int  i = 2; i <= N; ++i)
    {
        last_dig *= i; last_dig2 *= i;
        while(last_dig % 10 == 0)
        {
            last_dig /= 10;
        }        
        last_dig %= 1000000;
        while(last_dig2 % 10 == 0)
        {
            last_dig2 /= 10;
        }        
        last_dig2 %= 100000;
        if(last_dig2%10!=last_dig%10)// если последние цифры не совпадают
        {
            std::cout<<last_dig<<"      "<<last_dig2<<"          "<<i<<std::endl;
        }
    }
    return last_dig % 10;
}
//////////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::locale::global(std::locale(""));
    for(;;)
    {
        std::cout << "N = ";
        int N = 0;
        std::cin >> N;
        
         std::cout << "Ïîñëåäíÿÿ íåíóëåâàÿ öèôðà ôàêòîðèàëà "
                  << N 
                  << ": "
                  << get_last_nonzero_digit_of_factorial(N)
                  << std::endl;    }
}


Вернуться к обсуждению:
Задачи для тренировки и лучшего понимания
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.01.2011, 12:25
Готовые ответы и решения:

Элементарные программы, для лучшего понимания языка...
Здравствуйте. Вот сегодня решил что пора изучать с++. Есть пару задач. Начал решать и уже на первой...

Задачи для тренировки и лучшего понимания языка
Предлагаю в этой теме размещать задачи, которые помогут новичкам (и не только) более детально...

Литература для лучшего понимания сути программирования
Привет! Подскажите литературу, которая поможет разобраться в сути самого процесса программирования,...

Набор задачь для тренировки и улучшения понимания программирования
Добрый вечер всем. Если кто знает модскажите где можно найти подобный набор задачь...

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