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

Найти количество простых чисел, сумма цифр которых равна натуральному числу

03.07.2017, 09:15. Показов 3015. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В одномерном массиве, состоящем из N натуральных чисел найти количество простых чисел, сумма цифр которых равна заданному натуральному числу k.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.07.2017, 09:15
Ответы с готовыми решениями:

Распечатать все трёхзначные числа, сумма цифр которых равна заданному натуральному числу
Очень Нужно Друзья!!! Буду благодарен при содействии. Распечатать все трехзначные числа ,сумма...

Подсчитать количество четырёхзначных чисел, сумма цифр которых равна заданному числу
Всем доброго дня, уважаемые. Очень нужна помощь с решением задачи на классы. Найти и вывести все...

Определить количество трехзначных чисел, сумма цифр которых равна определенному числу
Определить количество трехзначных натуральных чисел, сумма цифр которых равна целому числу n (0 < n...

Определить количество трехзначных натуральных чисел, сумма цифр которых равна данному числу
П. 5.4. Правил Запрещено создавать темы с бессмысленными названиями вроде "Помогите!", "Вопрос" и...

2
35 / 32 / 20
Регистрация: 26.02.2013
Сообщений: 184
03.07.2017, 13:36 2
Лучший ответ Сообщение было отмечено OLeG1k как решение

Решение

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
//В одномерном массиве, состоящем из N натуральных чисел найти количество простых чисел, сумма цифр которых равна заданному натуральному числу k.
#include <iostream>          // для cout и т.д.
using namespace std;
bool prime(int);//функция проверки простоты числа
int sumnum(int);//функция для вычисления суммы цифр числа
int main()
{
    setlocale(LC_ALL, "RUS");
    int N, k, s=0;
    int* mas;
    cout << "Введите размерность массива: ";
    cin >> N;
    cout <<"\n"<< "Введите сумму цифр простого числа: ";
    cin >> k;
    mas = new int[N];
    for (int i = 0; i < N; i++)
    {
        mas[i] = i + 1;
        if (prime(mas[i]))
            if (sumnum(mas[i]) == k)
                s++;
    }
    cout << "Количество простых чисел с суммой цифр равной k: " << s << endl;
    system("pause");
    delete[] mas;
    return 0;
}
bool prime(int n) {
    for (int i = 2; i <= sqrt(n); i++)
        if (n%i == 0)
            return false;
    return true;
}
int sumnum(int a)
{
    return (a>0) ? a % 10 + sumnum(a / 10) : 0;
}
0
1 / 1 / 3
Регистрация: 22.10.2015
Сообщений: 15
03.07.2017, 13:47 3
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
#include <iostream>
#include <vector>
#include <string>
 
using namespace std;
bool simple(unsigned long); //функция на определение простого числа
 
int main()
{
    cout << "Enter size of array: ";
    unsigned long size;
    cin >> size;
    cout << endl;
 
    vector<unsigned long> arr(size);
    for (int i = 0; i < arr.size(); i++) //заполняю массив простыми числами
        arr[i] = i + 1;
 
    cout << "Enter your number: ";
    unsigned long n;
    cin >> n;
 
    unsigned numOfSimple = 0; //создаю счетчик для простых чисел
    unsigned long summOfSimple = 0;
 
    for (unsigned long i = 1; i < arr.size(); i++)
    {
        if (summOfSimple < n) //проверяю сумму меньше ли она чем заданное число
        {
            if (simple(arr[i])) //если меньше, проверяю натуральное число в массиве на его "простоту"
            {
                summOfSimple += arr[i]; //eсли число простое увеличиваю сумму и счетчик
                numOfSimple++;
            }
        }
        else if (summOfSimple == n) //если сумма равна заданному числу — вывожу ответ
        {
            cout << "Number of primes, the sum will be equal to " << n << " is " << numOfSimple << endl;
            return 0;
        }
        else if (summOfSimple > n) //если сумма больше числа — такое число образовать суммой натуральных нельзя
        {
            cout << "This number can not be formed by the sum of primes" << endl;
            return 1;
        }
    }
    cout << endl;
    return 0;
}
 
bool simple(unsigned long num)
{
    for (unsigned long i = num / 2; i > 1; i--)
    {
        if (num%i == 0)
        {
            return false;
        }
    }
    return true;
}
1
03.07.2017, 13:47
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.07.2017, 13:47
Помогаю со студенческими работами здесь

Определить количество трёхзначных натуральных чисел сумма цифр которых равна заданному числу
Всем Привет! Помогите пожалуйста написать простенькую программу без сильно замороченного кода на...

Определить количество натуральных трехзначных чисел, сумма цифр которых равна заданному числу N
1. Определить количество натуральных трехзначных чисел, сумма цифр которых равна заданному числу N.

Определить количество трехзначных натуральных чисел, сумма цифр которых равна заданному числу N
Определить количество трехзначных натуральных чисел, сумма цифр которых равна заданному числу N.

Составить программу вывода всех трехзначных чисел, сумма цифр которого равна данному натуральному числу
нужно написать программу в c++, чтобы команды были понятны для новичка

Из всех пар простых чисел, сумма которых равна заданному числу, найти пару, содержащую наименьшее простое число
Известно, что любое чётное число, большее 2, представимо в виде суммы 2 простых чисел, причём таких...

Найти количество комбинаций, при которых сумма чисел на двух бочонках окажется равна заданному числу
Здравствуйте, помогите пожалуйста с программой, начинающий). Один способ придумал простой, но нужен...


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

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