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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kent777bgr
0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 8
#1

Найти простые числа, чтобы сумма их цифр, а также сумма цифр следующего за ним числа, делилась на 7 - C++

13.05.2012, 15:56. Просмотров 836. Ответов 4
Метки нет (Все метки)

задание:"найдите простые числа такие, чтобы сумма их цифр, а также сумма цифр следующего за ним числа делилась на 7"

помогите пожалуйста, не знаю как сделать
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.05.2012, 15:56
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Найти простые числа, чтобы сумма их цифр, а также сумма цифр следующего за ним числа, делилась на 7 (C++):

Найдите такие натуральные числа, чтобы сумма их цифр, а также сумма цифр следующего за ним числа делилась на 7 - C++
Помогите пожалуйста с задачей. Найдите натуральные числа такие, чтобы сумма их цифр следующего за ним числа делилась на 7. (язык С++)...

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

Найти все простые числа от 1000 до 1999, в каждом из которых сумма первой и второй цифр в записи этого числа равна сумме третьей и четвертой. - C++
Прошу помочь решить задачки!:(очень нужно (Билет №14) Найти все простые числа от 1000 до 1999, в каждом из которых сумма первой и...

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

Обработка целых данных (найти все простые числа, имеющие возрастающую последовательность, сумма цифр которых равна M) - C++
Здравствуйте, дорогие форумчане. Мне нужна ваша помощь. Как реализовать данную программу? для натуральных чисел не превосходящих...

Помочь доделать программу (найти все простые числа, имеющие возрастающую последовательность цифр, сумма которых равна M) - C++
Здравствуйте, дорогие форумчане. ----------------------------------- Мне нужна ваша помощь. Вот, собственно, задание: Для всех...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
13.05.2012, 16:23 #2
Вам в каких пределах искать?
Если до n = 10^8, то вот эти числа
Код
679999
769999
1669999
1939999
2659999
3559999
3649999
3739999
3919999
4279999
4979999
5539999
5789999
6689999
6779999
6959999
7339999
7429999
7519999
7589999
8509999
8579999
8849999
9929999
10579999
10849999
11839999
12289999
13189999
13369999
13909999
14539999
15439999
15529999
15779999
16519999
16589999
16769999
17419999
17489999
17579999
17759999
18229999
19219999
19289999
19649999
19739999
20479999
20569999
20659999
20839999
21289999
21469999
21559999
21739999
21919999
21989999
22369999
23449999
23969999
24259999
24349999
24619999
24689999
24959999
25249999
25339999
25679999
26149999
26239999
26579999
26939999
27049999
27409999
27479999
28129999
28219999
28309999
28739999
30739999
30829999
31279999
31459999
31639999
32179999
32629999
32809999
32879999
32969999
33259999
33349999
33709999
34429999
34519999
34679999
34859999
35669999
35939999
36409999
36569999
36929999
37649999
38119999
38459999
39019999
39269999
39449999
39809999
40189999
40369999
40729999
41449999
41969999
42619999
42959999
43159999
43339999
44059999
44509999
44579999
45319999
45929999
46559999
46829999
48019999
48089999
49009999
49349999
50179999
50539999
50809999
50969999
51619999
52679999
53059999
53239999
53489999
54049999
54229999
54659999
54839999
55309999
55919999
56729999
57019999
57109999
58169999
59069999
59339999
60529999
60689999
61249999
61519999
61589999
61769999
62149999
62239999
62329999
62509999
62849999
63319999
63389999
63409999
63839999
64039999
64739999
65279999
65369999
66269999
66809999
67259999
68069999
68249999
71149999
72229999
72569999
72839999
73129999
73219999
74029999
74119999
74459999
74549999
74819999
75089999
75109999
76079999
76169999
76619999
77429999
77519999
77609999
78149999
79139999
79409999
80329999
80579999
80759999
81229999
82309999
83369999
83729999
83909999
84539999
84809999
85009999
85169999
87149999
87329999
89309999
90659999
90929999
91559999
92459999
93019999
93089999
93109999
93719999
94009999
94529999
95339999
95519999
95609999
96239999
96329999
98039999
Сгенерировал прогой за полторы секунды.
За 20 секунд можно до 10^9 получить, но таких чисел уже многовато.
0
kent777bgr
0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 8
14.05.2012, 14:30  [ТС] #3
мне сам текст программы нужен
0
diagon
Higher
1929 / 1195 / 49
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
14.05.2012, 14:38 #4
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
#include <iostream>
#include <vector>
#include <cstdio>
 
int sum_of_digits(int x)
{
    int res = 0;
    
    for (; x != 0; x /= 10)
        res += x % 10;
    
    return res;
}
 
int main()
{
    int n = 1e8;
    
    std::vector< bool > sieve(n / 2 + 1);
    
    for (int i = 3; i * i <= n; i += 2)
    {
        if ( !sieve[i / 2] )
        {   
            for (int j = (i << 1); j <= n; j += i)
                if ( j & 1 )
                    sieve[j / 2] = 1;
        }
    }
    
    for (int i = 3; i <= n; i += 2)
    {
        if ( sieve[i / 2] == 0 && sum_of_digits(i) % 7 == 0 && sum_of_digits(i + 1) % 7 == 0 )
        {
            std::cout << i << std::endl;
        }
    }
}
Однако у вас эта программа может сильно тормозить, ибо расчитана на оптимизации gcc(vector< bool >, к примеру, в gcc работает раза в полтора быстрее, чем обычный массив). Ну и памяти немало требует.
0
kent777bgr
0 / 0 / 0
Регистрация: 07.05.2012
Сообщений: 8
15.05.2012, 09:32  [ТС] #5
а в среде "turbo c" она сможет работать?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2012, 09:32
Привет! Вот еще темы с ответами:

Найти в диапазоне от 10 до 99 такие 3 последовательные числа, чтобы сумма их цифр была равна 15 - C++
Например: 13 14 15. 1+3+1+4+1+5=15.

Определить для числа: является ли сумма его цифр двузначным числом; больше ли сумма его цифр числа "а" - C++
4.24. Дано двузначное число. Определить: а) является ли сумма его цифр двузначным числом; б) больше ли числа &quot;a&quot; сумма его...

Проверить условие: сумма цифр заданного числа N превосходит произведение цифр этого же числа на 1 - C++
Составит линейную логическую программу, печатающую значение 1, если указанное высказывание является истинным, и 0 – в противном случае:...

Найти все четырёхзначные числа, у которых сумма крайних цифр равна сумме средних цифр, а само число делится на 6 и 27 - C++
найти все четырёхзначные числа , у которых сумма крайних цифр равна сумме средних цифр , а само число делится на 6 и 27 . В С++


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
15.05.2012, 09:32
Ответ Создать тему
Опции темы

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