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

Найти все натуральные числа из отрезка [M, N], обладающие следующим свойством

10.12.2019, 18:46. Показов 1661. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, я не давно начал изучать с++.Решаю задачки, попалась такая никак не могу решить
Найти все натуральные числа из отрезка [M, N], обладающие следующим свойством
Сумма числа, полученного выписыванием цифр на четных позициях, и числа, полученного выписыванием цифр на нечетных позициях – простое число.
Все что я смог написать

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
#include<iostream>
#include<cmath>
using namespace std;
int main() {
    setlocale(LC_ALL, "Russian");
    int  N, M, i, ch, nech, pos, sch;
    cout << "Введите M";
    cin >> M;
    cout << "Введите N";
    cin >> N;
    for (i = M; i <= N; i++) {
        int b = i;
        ch = 0;
        nech = 0;
        pos = 1;
        while (b != 0) {
 
            if (pos % 2 == 0) {
                ch = ch * 10 + b % 10;
            }
            if (pos % 2 != 0) nech = nech * 10 + b % 10;
            b /= 10;
            pos++;
        }
        b = nech;
        int k = 0;
        while (b != 0) {
            k = k * 10 + b % 10;
            b /= 10;
        }
        nech = k;
        cout << i << " " << ch << " " << nech << endl;
        b = ch + nech;
        sch = 0;
        for (int i = 1; i < b; i++) {
            if (b % i == 0) { sch++; }
        }
        if (sch == 2) cout << i << "";
    }
 
 
 
 
 
    system("pause");
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2019, 18:46
Ответы с готовыми решениями:

Найти все натуральные числа из отрезка [M, N], обладающие следующим свойством
Найти все натуральные числа из отрезка , обладающие следующим свойством : Сумма делителей данного...

Найти все трехзначные числа, обладающие свойством
Найти все трехзначные числа, обладающие свойством: число, полученное записью цифр этого числа в...

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

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

2
7437 / 5029 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
10.12.2019, 21:51 2
ввод чисел до 10 не ограничивал, если нужно добавьте
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
#include <iostream>
using namespace std;
 
bool is_prime(int n)
{
    if (n==2) return true;  
    if (n < 2 || n%2==0) return false;  
    for (int i=3; i*i<=n; i+=2)
    if (n%i==0) return false;
    return true;  
}
 
int main() 
{
    int i, p, M, N, k1, d, n1, n2;
    
    cout << "M="; cin >> M;
    cout << "N="; cin >> N;   
    
    for (int k = M; k <= N; k++)     
    {    
        k1=k;
        p=1;
        n1=n2=i=0;        
        while (k1) 
        {
            d=k1%10;            
            if (i%2==0) n1+=d*p;
            else {n2+=d*p;p*=10;}             
            k1/=10;
            i++;
        }  
        // cout << "k=" << k << "  n1=" << n1 << "  n2=" << n2 << "\n";
    if (is_prime(n1+n2)) cout << k << "\n"; 
    }
    
system("pause");
return 0;
}
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
10.12.2019, 22:29 3
Тут можно слегка сократить перебор, поигравшись с двумя последними цифрами. И признаками деления на 2 и 5. То есть даже не перебор сократить, а простоту суммы не всегда проверять.
Ну, а поскольку мы все равно с цифрами работаем, то за одно и деление на 3.
Особого эффекта это не даст. Но все-таки...
0
10.12.2019, 22:29
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2019, 22:29
Помогаю со студенческими работами здесь

Выписать все натуральные числа, взаимно простые с m, из отрезка [1;m-1]
выписать все натуральные числа,взаимно простые с m, из отрезка

Найти все трехзначные числа, обладающие следующими свойствами
Найти все трехзначные числа, обладающие следующими свойствами: - сумма цифр числа А делится на 4;...

Найти: а) все двузначные числа, сумма квадратов цифр которых делится на 13; б) все двузначные числа, обладающие
Помогите, пожалуйста, написать программу в C#, а то ничего не выходит. Найти: а) все двузначные...

Даны натуральные числа N, M. найти все натуральные числа, меньше N, квадрат суммы цифр которых равен M
Помогите, пожалуйста, с задачей на C#: Даны натуральные числа N, M. найти все натуральные числа,...


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

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