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

Задача "Натуральный ряд чисел" - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Шаблоны http://www.cyberforum.ru/cpp-beginners/thread929196.html
Есть два класса: #include <iostream> #include <string> #include <valarray> using namespace std; template <class T1, class T2> class Pair { private: T1 a;
C++ Вывод строки в обратном порядке Тупень возвращается. Имеем функцию для чтения массива в обратном порядке. Смысл ясен, но требуются пояснения в деталях. void print_reverse(char *s) { size_t len = strlen(s); char *t=s +... http://www.cyberforum.ru/cpp-beginners/thread929181.html
C++ Задача "Сокобан"
Ограничение времени: 5.0 секунды Ограничение памяти: 64 МБ Программист Стас на время отпуска устроился поработать в японскую компьютерную фирму Thinking Rabbit. Сначала идея казалась замечательной...
Программа из книги, в которой осуществляется вызов двух функций не работает C++
Может кто поможет, не работает программа с книги "Моя первая программа на С/С++" А.Нейбауэр (Листинг 7.1. Программа, в которой осуществляется вызов двух функций.) Я уже понял что книжку для начала я...
C++ Запись/чтение структур (файлы) + разница между FILE * и <fstream> http://www.cyberforum.ru/cpp-beginners/thread929077.html
Всем привет. Порыскал по форуму, погуглил... Решения есть, но они не ясны (что, почему да как) и не все работают. Однако, я так и не нашёл конкретных и ясных объяснений по-этому поводу. И т.к. в С++...
C++ Список С++ Доброго времени суток всем. Возник вопрос, как его решить не знаю. Те кто знаком c python знают, что там есть такая штука как "list". В нем можно хранить объекты любых типов. Вставл вопрос, а как... подробнее

Показать сообщение отдельно
Olivеr
412 / 408 / 13
Регистрация: 06.10.2011
Сообщений: 832
28.07.2013, 15:50
и еще один вариант
генерирует строку пока не найдет заданное число
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
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
#include <cmath>
 
int match(int x)
{
    std::string buf;
    std::string x_str = std::to_string(x);
    int digits = std::log10(x) + 1;
    int number_match = 0;
 
    if (x < 1 || x >= 10000) {
        return 38885;
    }
 
    for (int i = 1; i <= x; ++i) {
        for (int j = 0; j != digits; ++j) {
            buf.append( std::to_string(i++) );
        }
        --i;
        number_match = buf.find(x_str, number_match);
        if (number_match == std::string::npos) {
            number_match = buf.size() - digits;
        } else {
            return number_match + 1;
        }
    }
    return 1;
}
 
int main()
{
    std::ifstream in("input.txt");
    std::ofstream out("output.txt");
    if (!in.good() || !out.good())
        return 1;
    int x; in >> x;
    out << match(x);
    out.close();
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.