Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
ShuricFC
0 / 0 / 0
Регистрация: 08.09.2016
Сообщений: 73
1

Вывести N-е полупростое число (программа постоянно выводит число 4; не могу понять в чем ошибка)

13.09.2016, 09:42. Просмотров 1935. Ответов 23
Метки нет (Все метки)

ПОМОГИТЕ ПОЖАЛУЙСТА НАЙТИ ОШИБКУ!

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 <stdio.h> 
#include "fstream" 
#include <iostream> 
#include <vector> 
 
using namespace std;
ifstream f("input.txt");
ofstream f1("output.txt");
using namespace std;
bool pchislo(int a)
{
    for (int i = 2; i*i <= a; i++)
 
        if (a%i == 0) return false;
    return true;
 
 
}
int main() {
    int n, k, i, j, x;
    cin >> n;
    k = 0; x = 3;
    do
    {
        x++;
        for (i = 2; i <x/ 2; i=i++)
            for (j = i + 1; j < x / 2 + 1; j++)
                if ((pchislo(i) && (i*i == x)) ||
                    (pchislo(i) && pchislo(j) && (i*j == x)))
                {
                    k++;
                    break;
                }
    }
   while (k >=n);
      cout <<x;
 
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.09.2016, 09:42
Ответы с готовыми решениями:

Выводит какое-то левое число подскажите в чем ошибка?
#include &lt;iostream&gt; #include &lt;cmath&gt; #include &lt;ctime&gt; #include &lt;clocale&gt; #include &lt;conio.h&gt; ...

Программа по паскалю, не могу понять в чем же ошибка
Решила простую задачу по паскалю, однако не все так хорошо, ругается на else var...

Программа метода дихотомии для нахождения экстремумов не работает, не могу понять в чем ошибка
program dihotomia; var a0,b0,eps,l,y,z,fy,fz,X:real; begin writeln ('введите a0 ');...

Пользователь вводит с клавиатуры число от 0 до 100, программа выводит число буквами
Пользователь вводит с клавиатуры число от 0 до 100, программа выводит число в буквенном формате

Программа считывает с клавиатуры число N, L, K и выводит одно число.
Задача Leopold Кот Леопольд пошел на рыбалку и наловил рыбы. Каждую рыбу он старательно взвесил....

23
MRG_Serejka
15 / 15 / 8
Регистрация: 15.08.2013
Сообщений: 190
Завершенные тесты: 2
13.09.2016, 13:03 21
ShuricFC, Может ты забыл включить заголовок
C++
1
#include <cmath>
0
MansMI
1456 / 1164 / 551
Регистрация: 08.01.2012
Сообщений: 4,509
13.09.2016, 13:06 22
Лучший ответ Сообщение было отмечено ShuricFC как решение

Решение

C++
1
2
3
4
5
6
                if (i*j==x && pchislo(j))
                {
                    cout<<x<<"="<<i<<"*"<<j<<endl;
                    k++;
                    break;
                }
1
ShuricFC
0 / 0 / 0
Регистрация: 08.09.2016
Сообщений: 73
13.09.2016, 13:12  [ТС] 23
Проблема не в этом.

Добавлено через 4 минуты
Огромное спасибо! Получилось!
0
Mr.X
Эксперт С++
3191 / 1718 / 435
Регистрация: 03.05.2010
Сообщений: 3,867
13.09.2016, 21:22 24
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
///////////////////////////////////////////////////////////////////////////////
//0.
///////////////////////////////////////////////////////////////////////////////
//Вывести N-е полупростое число.
///////////////////////////////////////////////////////////////////////////////
#include <iostream>
///////////////////////////////////////////////////////////////////////////////
bool    is_prime( int   n )
{
    bool    bool_res    =       n   >   1
 
                            &&  (
                                        n           ==  2
                                    ||  n           ==  3
 
                                    ||  n   %   6   ==  1
                                    ||  n   %   6   ==  5
                                );
 
    if( !bool_res )
    {
        return  bool_res;
    }
 
    for( int  d{2}; d * d <= n; ++d  )
    {
        bool_res    =   n   %   d;
 
        if( !bool_res )
        {
            break;
        }
    }//for
 
    return  bool_res;
}
///////////////////////////////////////////////////////////////////////////////
bool    is_semiprime( int   n )
{
    if  (
            is_prime(n)
        )
    {
        return  false;
    }
 
    for( int  d{2}; d * d <= n; ++d )
    {
        if  (
                n   %   d   ==  0
            )
        {
            n   /=  d;
            break;
        }//if
    }//for
 
    return  is_prime(n);
}
///////////////////////////////////////////////////////////////////////////////
int     semiprime_with_ind( int  ind )
{
    int     ind_cur{};
 
    for( int  n{4}; ; ++n )
    {
        if  (
                is_semiprime(n)
            )
        {
            ++ind_cur;
 
            if( ind_cur     ==  ind )
            {
                return  n;
            }//if
        }//if
    }//for
}
///////////////////////////////////////////////////////////////////////////////
int     main()
{
    for(;;)
    {
        int     n{};
        std::cout   <<  "n = ";
        std::cin    >>  n;
 
        std::cout   <<  semiprime_with_ind(n)
                    <<  std::endl
                    <<  std::endl;
    }//for
}
0
13.09.2016, 21:22
13.09.2016, 21:22
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.09.2016, 21:22

Программа, которая считает сумму если введено 2-х значное число А и однозначное число В, иначе выводит ноль
Помогите написать программу на паскале. условие: написать программу,которая считает сумму если...

Не могу понять почему программа не выводит результат (простейшая программа)
Здравствуйте уважаемые форумчане! Я начал изучать C++ при помощи книги. На днях я столкнулся со...

Написать программу, которая находит N-е полупростое число
Всем привет, помогите написать программу, которая находит N-е полупростое число. Заранее спасибо)


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

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

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