Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.54/41: Рейтинг темы: голосов - 41, средняя оценка - 4.54
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
1

Найти K-ю цифру в строке натуральных чисел

11.12.2008, 03:47. Показов 8419. Ответов 52
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Сразу о главном:
дано натуральное K. Найти K-ю цифру в строке натуральных чисел 123456789101112131415.... Что с этим счастьем делать, ума не приложу(((
Помогите, пожалуйста, если кто может.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.12.2008, 03:47
Ответы с готовыми решениями:

В последовательности всех натуральных чисел от 1 до k найти k-ую цифру
Разработать программу, которая запрашивает с клавиатуры натуральное число k и определяет k-ую цифру...

Дана последовательность факториалов натуральных чисел. Найти k-ю цифру
Здравствуйте. Задумался над условием задачи. Дана последовательность факториалов натуральных чисел....

Найти n-ую цифру в последовательности, образованной записью квадратов натуральных чисел
На доске выписана последовательность квадратов целых чисел, без пробелов, начиная с единицы: 1 4 9...

В последовательности из квадратов натуральных чисел до N найти цифру, стоящую в k-ой позиции
Ломаю голову, не могу решить задание. Слабо знаком с PHP. Помогите, пожалуйста) Создать в строке...

52
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
13.12.2008, 12:08  [ТС] 41
Author24 — интернет-сервис помощи студентам
А что вобще значит std::???

Добавлено через 2 минуты 11 секунд
а нету случайно "умных книжек" на русском??
0
296 / 56 / 5
Регистрация: 22.05.2008
Сообщений: 788
13.12.2008, 12:17 42
std - это пространство имен (namespace). А std:: это запись для использования члена этого пространства.
0
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
13.12.2008, 12:30  [ТС] 43
stringstream и ss - это что? SS , если я правильно поняла, то это как элемент массива?!
0
296 / 56 / 5
Регистрация: 22.05.2008
Сообщений: 788
13.12.2008, 12:35 44
ss это экземпляр класса std:stringstream.
0
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
13.12.2008, 12:37  [ТС] 45
string str=ss.str(); - а это тогда что?!
0
296 / 56 / 5
Регистрация: 22.05.2008
Сообщений: 788
13.12.2008, 12:42 46
Дык я обьявляю строку и с помощью функции-члена ss, который возвращает строку, которую мы туда поместили, мы ее инициализируем.
0
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
13.12.2008, 12:46  [ТС] 47
ss << i; а почему мы тогда индексу присваиваем через эту функцию-член???
0
4 / 4 / 1
Регистрация: 18.08.2008
Сообщений: 73
13.12.2008, 13:02 48
просто в цикле создавать такую же строку, с помощью itoa() добавлять число в строку

я как-то писал похожую программу, только не просто последовательные числа, а их квадраты. может поможет:

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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <iostream>
#include <cstring>
#include <stdio.h>
#include <conio.h>
#include <math.h>
using namespace std;
 
#define EXIT() getch(); return 0;
 
int main()
{
    const int max_size = 100000;
    char input[max_size];
    int n;
    cin.getline(input,max_size);
    cin >> n;
    int min = -1;
    for (int i=0; i<strlen(input)/2; i++)
    {
        char* s1 = new char [i+2];
        int j;
        for (j=0; j<=i; j++)
            s1[j] = input[j];
        s1[j] = '\0';
        char* s2 = new char [strlen(input)-i+1];
        for (; j<i*2+3; j++)
            s2[j-i-1] = input[j];
        s2[j-i-1] = '\0';
        if (sqrt(atof(s1))+1 == sqrt(atof(s2)))
        {
            min = sqrt(atof(s1));
            break;
        }
        s2[j-i-2] = '\0';
        if (sqrt(atof(s1))+1 == sqrt(atof(s2)))
        {
            min = sqrt(atof(s1));
            break;
        }
        delete [] s1;
        delete [] s2;
    }
    if (min==-1)
    {
        cout << "Cannot find such element";
        EXIT();
    }
    char* s = new char [strlen(input)+1];
    bool decisions_found = false;
    for (int i=0; i<strlen(input);)
    {
        sprintf(s+i,"%d",min*min++);
        int j = i+strlen(s+i);
        if (n>=i && n<=j)
        {
            cout << min-1;
            decisions_found = true;
            break;
        }
        i = j;
    }
    delete [] s;
 
    if (!decisions_found)
    {
        cout << "Cannot find such element";
        EXIT();
    }
    getch();
    return 0;
}
1
0 / 0 / 0
Регистрация: 11.12.2008
Сообщений: 25
13.12.2008, 13:08  [ТС] 49
leviaphan, спасибо, конечно, только я врядли разберусь с этой задачей((
0
296 / 56 / 5
Регистрация: 22.05.2008
Сообщений: 788
13.12.2008, 14:48 50
leviaphan, а теперь сравни мое и твое решение. )
Ginger, я не буду вечно отвечать на твои вопросы. Учи язык.
0
4 / 4 / 1
Регистрация: 18.08.2008
Сообщений: 73
16.12.2008, 19:41 51
Spo1ler, зато если поменять средства вывода на консоль и названия библиотек, то мой код будет работать на Си без плюсов
0
296 / 56 / 5
Регистрация: 22.05.2008
Сообщений: 788
16.12.2008, 20:14 52
А зачем их менять? Если оно работает, то зачем?
0
4 / 4 / 1
Регистрация: 18.08.2008
Сообщений: 73
28.12.2008, 23:37 53
Цитата Сообщение от Spo1ler Посмотреть сообщение
А зачем их менять? Если оно работает, то зачем?
Согласен. Это я так, лишь бы сказать. Я писал эту программу, когда изучал синтаксис Си
0
28.12.2008, 23:37
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.12.2008, 23:37
Помогаю со студенческими работами здесь

Найти 10 первых натуральных чисел, оканчивающихся на цифру 7 и больших 100
как найти 10 первых натуральных чисел, оканчивающихся на цифру 7 и больших 100.

Найти k-ю цифру последовательности, сформированной из записанных подряд натуральных чисел
Привет всем, помогите сделать программы на паскале, а то я больше с С++ на &quot;ты&quot;. Задачи с...

Найти количество четырехзначных натуральных чисел, делящихся на 23 и на последнюю свою цифру.
Найти количество четырехзначных натуральных чисел, делящихся на 23 и на последнюю свою цифру.

Найти k-ю цифру последовательности, сформированной из записанных . подряд натуральных чисел: 123456789101112
Найти k-ю цифру последовательности, сформированной из записанных ... подряд натуральных чисел:...

Найти восемь первых натуральных чисел, которые оканчиваются и делятся на заданную цифру n
написать программу. 1)Наибольшее из трех чисел x,y,z заменить на (-1).Числа вывести в той же...

Найти k-ю цифру последовательности, в которой выписаны подряд квадраты всех натуральных чисел
Дано натуральное &quot;k&quot;. Вывести на экран дисплея &quot;k&quot;-ю цифру последовательности 14916253649...,в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
53
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru