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

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

Войти
Регистрация
Восстановить пароль
 
ink-mate
0 / 0 / 0
Регистрация: 04.02.2014
Сообщений: 30
#1

Программа не останавливается в нужный момент - C++

21.11.2014, 11:01. Просмотров 302. Ответов 5
Метки нет (Все метки)

Программа должна выводить близнецов не выше числа n*2, но она это делает.

Вот условие, если кому то нужно: "Дано натуральное число n. Выяснить, имеются ли среди чисел n, n+1,.....,2n близнецы, т.е. простые числа, разность между которыми равна двум.
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <conio.h>
bool simple(int n) {
    int t = n>>1;// t = n/2.
    for(int i=2;i<t;i++)
        if( !(n%i) ) return 0;
    return 1;
};
int main() {
    int n;
    int t;
    printf("Vvedite n : " );
    scanf("%d",&n);
    if( !(n%2)) n++; 
    t= n <<1;
    printf("Bliznetsi : \n");
    for(int i=n;i<t;i+=2) 
        if(  (simple(i)) && (simple(i+2)) ) 
            printf("%d %d\n",i,i+2);
    getch();
};
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2014, 11:01
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Программа не останавливается в нужный момент (C++):

Программа останавливается без ошибок на fopen - C++
Добрый вечер. Программа останавливается без ошибок или сообщений дебагера на строчке 190. Помогите разобраться, что не так. Код...

По Лафору пример, программа останавливается на строке delete[] name; - C++
#include &lt;iostream&gt; #include &lt;cstring&gt; char *getname(void); using namespace std; int main() { char *name = getname();...

Программа останавливается после ввода имени файла - C++
В файле данные типа 1 2 45 1 3 60 1 4 60 и их надо считать в map и вывести, проблема, что после ввода имени файла стоит на месте и...

Программа не выдаёт нужный ответ - C++
Задание. Задан двумерный массив С из 2-х строк и 4-х столбцов. Составить программу, которая организует одномерный массив, каждый элемент...

Программа вычисляющая интерполяционный многочлен Ньютона, останавливается при компиляции на 12 строке - C++
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;windows.h&gt; #include&lt;math.h&gt; using namespace std; //Интерполяционный многочлен...

Какой момент не учитывает программа? - C++
Здравствуйте. Задача - http://acm.timus.ru/problem.aspx?space=1&amp;num=1025 Не могу успокоиться, пока не решу задачу. Уже были...

5
Kerry_Jr
Эксперт PHP
2210 / 2006 / 702
Регистрация: 14.05.2014
Сообщений: 5,870
Записей в блоге: 1
Завершенные тесты: 5
21.11.2014, 11:08 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от ink-mate Посмотреть сообщение
for(int i=n;i<t;i+=2)
for(int i=n;i<t-2;i+=2)

Добавлено через 1 минуту
Цитата Сообщение от ink-mate Посмотреть сообщение
Программа должна выводить
Цитата Сообщение от ink-mate Посмотреть сообщение
но она это делает.
Негодница
1
ink-mate
0 / 0 / 0
Регистрация: 04.02.2014
Сообщений: 30
21.11.2014, 11:12  [ТС] #3
@Kerry Jr, не помогло, если ввести 6 выводит 11&13 | 17&19

Добавлено через 2 минуты
работает, спасибо.
0
Kerry_Jr
Эксперт PHP
2210 / 2006 / 702
Регистрация: 14.05.2014
Сообщений: 5,870
Записей в блоге: 1
Завершенные тесты: 5
21.11.2014, 11:21 #4
ink-mate,
C++
1
if( !(n%2)) n++;
если ввести 6, то n превратится в 7, а 7 * 2 = 14, поэтому 11&13 - это верный вариант. Чтобы такого не было, сначала
C++
1
t = n << 1;
, а затем уже
C++
1
if( !(n%2)) n++;
1
ink-mate
0 / 0 / 0
Регистрация: 04.02.2014
Сообщений: 30
21.11.2014, 11:53  [ТС] #5
Цитата Сообщение от Kerry_Jr Посмотреть сообщение
for(int i=n;i<t-2;i+=2)
Может поможешь перевести с паскаля на С++ вот это?
Pascal
1
sqrt(sqr(r+h)-sqr(r)):0:3
0
Kerry_Jr
Эксперт PHP
2210 / 2006 / 702
Регистрация: 14.05.2014
Сообщений: 5,870
Записей в блоге: 1
Завершенные тесты: 5
21.11.2014, 12:29 #6
С Паскалем не очень дружу, поэтому могу ошибиться
Цитата Сообщение от ink-mate Посмотреть сообщение
Pascal
1
sqrt(sqr(r+h)-sqr(r)):0:3
C++
1
floor(1000 * sqrt((r+h)*(r+h) - r*r))/1000.;
для sqrt и floor нужно подключать <math.h> - для С, <cmath> - для С++.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2014, 12:29
Привет! Вот еще темы с ответами:

Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит второй cout - C++
Подскажите почему после первого cout программа не останавливается для ввода строки, а выводит второй cout. Это фрагмент со структурами: ...

Когда запускаю и ввожу параметры, то, в момент когда программа должна выполнять действие, пишет ошибку - C++
Недавно начали изучать c++. так как в школе не было программирования (преподу пофиг было) я в универе отстаю ;c Написал программу по...

Останавливается картинка в любой момент - Windows 7
Проблема в том, что в любой момент, при работе на компьютере, останавливается картинка. Это длиться несколько секунд, бывает 1-2 минуты....

Сравнение Y кординат в нужный момент - Turbo Pascal
По Х корд. через экран движется корабль. Снизу экрана по Y корд. движется торпеда в вверх по направлению к кораблю ,при нажатии клавиши F. ...


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

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

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