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

Найти такие числа, десятичное представление которых содержит убывающую последовательность - C++

Восстановить пароль Регистрация
 
Vif@
0 / 0 / 0
Регистрация: 20.05.2010
Сообщений: 16
13.10.2010, 12:39     Найти такие числа, десятичное представление которых содержит убывающую последовательность #1
Среди простых чисел, не превосходящих заданного числа N, найти такие, десятичное представление которых содержит убывающую последовательность чисел.
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2010, 12:39     Найти такие числа, десятичное представление которых содержит убывающую последовательность
Посмотрите здесь:

Среди простых чисел , не превосходящих заданного натурального числа N .Найти такие, в десятичном представление которых больше всего нулей C++
Десятичное представление заданного числа C++
Найти такие пары натуральных чисел, сумма которых является квадратом некоторого натурального числа C++
C++ Добавить вектор-столбец после всех столбцов, элементы которых образуют убывающую последовательность
Для каждого числа проверить представляют ли его цифры строго убывающую последовательность C++
Удалить из матрицы столбцы, в которых элементы образуют убывающую последовательность C++
Среди заданных натуральных чисел найти такие, десятичная запись которых не содержит одинаковых цифр C++
C++ Среди заданных натуральных чисел найти такие, десятичная запись которых не содержит одинаковых цифр

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mr.X
Эксперт С++
 Аватар для Mr.X
2803 / 1579 / 247
Регистрация: 03.05.2010
Сообщений: 3,673
13.10.2010, 13:59     Найти такие числа, десятичное представление которых содержит убывающую последовательность #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
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
///////////////////////////////////////////////////////////////////////////////////
//Среди простых чисел, не превосходящих заданного числа N, найти такие, 
//десятичное представление которых содержит убывающую последовательность чисел <цифр?>. 
///////////////////////////////////////////////////////////////////////////////////
#include <iostream>
///////////////////////////////////////////////////////////////////////////////////
typedef long long  T_int;
///////////////////////////////////////////////////////////////////////////////////
bool  has_decreasing_digits(T_int  k)
{
    T_int  dig_cur   = -1;
    T_int  dig_prev  = -1;    
 
    while(k)
    {
        dig_cur = k % 10;
        k /= 10;
        if(dig_cur <= dig_prev)
        {
            return false;
        }
        dig_prev = dig_cur;
    }
    return  true;
}
///////////////////////////////////////////////////////////////////////////////////
bool  is_simple(T_int k)
{
    for(T_int i = 2; i * i <= k; ++i)
    {
        if(k % i == 0)
        {
            return  false;
        }
    }
    return  true;
}
///////////////////////////////////////////////////////////////////////////////////
void  print_simple_with_decreasing_digits(T_int  n)
{
    //Так как число 9 876 543 210 делится на 2, а число 987 654 321 делится на 3, так как
    //сумма его цифр делится на 3, то очевидно, что максимальным числом, удовлетворяющим
    //условию, является число из восьми цифр.
    const T_int  MAX = 98765432;
    if(n > MAX)
    {
        n = MAX;
    }
    for(T_int i = 2; i <= n; ++i)
    {
        if(has_decreasing_digits(i)
           && is_simple(i))
        {
            std::cout << i
                      << std::endl;
        }
    }
}
///////////////////////////////////////////////////////////////////////////////////
int main()
{
    std::cout << "N = ";
    T_int n;
    std::cin >> n;
    std::cout << std::endl;
    print_simple_with_decreasing_digits(n);
}
Yandex
Объявления
13.10.2010, 13:59     Найти такие числа, десятичное представление которых содержит убывающую последовательность
Ответ Создать тему
Опции темы

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