0 / 0 / 0
Регистрация: 15.12.2018
Сообщений: 17
1

Определить количество чисел, содержащих хотя бы одну цифру 7 и являющихся простыми числами

23.12.2018, 00:25. Показов 1652. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Дана последовательность из n целых чисел. Определить количество чисел, содержащих в своей десятичной записи хотя бы одну цифру 7 и являющихся простыми числами.


Выполнить декомпозицию задачи и сформировать список подзадач.

Обосновать выбор вида подпрограммы для каждой подзадачи.

Определить постусловия и предусловия для каждой подпрограммы.

Разработать алгоритм основной программы, использующей вызовы подпрограмм, реализующих подзадачи, и записать его на псевдокоде.

Реализовать подпрограммы последовательно, выполняя их тестирование и отладку.

Выполнять тестирование и отладку программы по мере реализации подпрограммы.

Протестировать программу на всех возможных тестах.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2018, 00:25
Ответы с готовыми решениями:

Матрица. Определить в ней количество элементов, являющихся простыми числами
Дана целочисленная матрица размером n×m. Определить в ней количество элементов, являющихся простыми...

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

Получить сумму элементов столбцов матрицы, являющихся простыми числами
нужна помощь в решении задачи(через динамичное выделение памяти) Дана матрица размерности nxm....

Найти самых больших элементов массива, являющихся простыми числами
Помогите пожалуйста написать программы: 2)Дан массив из 15 элементов, найти 3 самых больших...

1
16 / 15 / 11
Регистрация: 24.10.2015
Сообщений: 26
23.12.2018, 03:15 2
Лучший ответ Сообщение было отмечено Nishen как решение

Решение

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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <sstream>
#include <stdexcept>
 
bool isPrime(int val)
{
    for (int i = 2; i <= val / 2; ++i)
    {
        if (val % i == 0)
        {
            return false;
        }
    }
    return true;
}
 
bool find(const std::string &s, char c)
{
    if (s.find(c) != std::string::npos)
    {
        return true;
    }
    else
    {
        return false;
    }
}
 
template<class T, class U>
void AssertEqual(const T& t, const U& u, const std::string& hint = {}) {
    if (t != u) {
        std::ostringstream os;
        os << "Assertion failed: " << t << " != " << u;
        if (!hint.empty()) {
            os << " hint: " << hint;
        }
        throw std::runtime_error(os.str());
    }
}
 
void Assert(bool b, const std::string& hint) {
    AssertEqual(b, true, hint);
}
 
class TestRunner {
public:
    template <class TestFunc>
    void RunTest(TestFunc func, const std::string& test_name) {
        try {
            func();
            std::cerr << test_name << " OK" << std::endl;
        }
        catch (std::exception& e) {
            ++fail_count;
            std::cerr << test_name << " fail: " << e.what() << std::endl;
        }
        catch (...) {
            ++fail_count;
            std::cerr << "Unknown exception caught" << std::endl;
        }
    }
 
    ~TestRunner() {
        if (fail_count > 0) {
            std::cerr << fail_count << " unit tests failed. Terminate" << std::endl;
            exit(1);
        }
    }
 
private:
    int fail_count = 0;
};
 
void TestPrime()
{
    // true
    AssertEqual(isPrime(2), true);
    AssertEqual(isPrime(3), true);
    AssertEqual(isPrime(5), true);
    AssertEqual(isPrime(7), true);
    AssertEqual(isPrime(11), true);
    AssertEqual(isPrime(13), true);
    AssertEqual(isPrime(17), true);
    AssertEqual(isPrime(19), true);
    AssertEqual(isPrime(23), true);
    AssertEqual(isPrime(29), true);
    AssertEqual(isPrime(31), true);
    // false
    AssertEqual(isPrime(4), false);
    AssertEqual(isPrime(6), false);
    AssertEqual(isPrime(8), false);
    AssertEqual(isPrime(9), false);
    AssertEqual(isPrime(10), false);
    AssertEqual(isPrime(12), false);
    AssertEqual(isPrime(14), false);
    AssertEqual(isPrime(15), false);
    
}
 
void TestFind()
{
    //true
    AssertEqual(find("123", '2'), true);
    AssertEqual(find("1234567890", '8'), true);
    AssertEqual(find("1234567890", '1'), true);
    AssertEqual(find("000000", '0'), true);
 
    //false
 
    AssertEqual(find("", '2'), false);
    AssertEqual(find("", ' '), false);
    AssertEqual(find("1234567890", '-'), false);
    AssertEqual(find("1234567890", 'x'), false);
    AssertEqual(find("000000", '1'), false);
}
 
void TestAll()
{
    TestRunner tr;
    tr.RunTest(TestPrime, "TestPrime");
    tr.RunTest(TestFind, "TestFind");
}
 
int main()
{
    TestAll();
 
    int n;
    int count = 0;
    std::cin >> n;
    for (int i = 0; i < n; ++i)
    {
        int temp;
        std::cin >> temp;
        if (isPrime(temp) && find(std::to_string(temp), '7'))
        {
            count++;
        }
    }
 
    
 
 
}
1
23.12.2018, 03:15
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2018, 03:15
Помогаю со студенческими работами здесь

Определить количество членов последовательности являющихся чётными числами
даны натуральные числа n a1...an определить количество членов последовательности являющихся четными...

Сформировать массив только из элементов заданного массива, являющихся простыми числами
Дан одномерный массив А. Построить функцию, ///формирующую массив только из простых чисел массива...

Определить количество и сумму элементов массива, которые не являются простыми числами
Пусть задан массив натуральных чисел из n компонент. Определить количество и сумму его...

Определить количество элементов массива, имеющих четные индексы и являющихся нечетными числами
ПОМОГИТЕ Составить программу, формирующую одномерный массив, состоящий из N целых элементов....


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

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