Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2019, 09:34   #1
qilfur
Новичок
Джуниор
 
Регистрация: 19.10.2019
Сообщений: 1
По умолчанию программа на с++

задание: Вводится последовательность положительных целых чисел, 0 – конец последовательности. Определить количество простых чисел в последовательности.

(п.с. ввести последовательность получилось, а вот определить количество простых чисел всё никак. не правильно считает.)
qilfur вне форума Ответить с цитированием
Старый 19.10.2019, 11:05   #2
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,534
По умолчанию

Ну дак выкладывай - что получилось, что не получилось. Поправят. Простое ли число - проверяем в цикле от 0 до Sqrt(n) - если хоть раз делится, то не простое.
digitalis вне форума Ответить с цитированием
Старый 19.10.2019, 14:42   #3
Cuprum5
Форумчанин
 
Регистрация: 09.05.2017
Сообщений: 729
По умолчанию

Проверка числа на простоту:
Код:
#include <iostream>
#include <string>
#include <cmath>
using namespace std; 

int main()
{
int n, i;
bool pr = true;

cout << "Vvedite N: ";
cin >> n;

for(i = 2; i <= sqrt(n); i++)
    if(n%i == 0)
        pr = false;

if(pr == true)
  cout << "PROSTOE.";
else
  cout << "NE PROSTOE.";  
return 0;
}
http://cpp.sh/7bbhj
Cuprum5 вне форума Ответить с цитированием
Старый 19.10.2019, 20:45   #4
digitalis
Старожил
 
Аватар для digitalis
 
Регистрация: 04.02.2011
Сообщений: 4,534
По умолчанию

Оно конечно, только вывод ни к чему, а по результатам работы цикла решать - инкрементировать счетчик простых или нет.
Код:
    npr = 0 ;
 ......................................
     pr = true;
     for(i = 2; i <= sqrt(n); i++)
          if(n%i == 0) {  pr = false; break } ;
     if (pr) npr++ ;
 ......................................
    cout << npr ;
Если i = sqrt(n), то уж точно не простое.
А if (pr == true) - это масло маслянное т.е. if ( true == true) .....

Последний раз редактировалось digitalis; 19.10.2019 в 21:22.
digitalis вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не запускается программа. Программа должна заполнить массив символом. Через процедуру. anasttb Паскаль, Turbo Pascal, PascalABC.NET 1 27.03.2017 18:31
нужна программа QControl программа для внутрилабораторного контроля качества Версия 5.5. миньен Софт 7 02.03.2014 00:28
Программа на Pascal в Lazarus и программа для одномерного массива целых чисел Yegorka Lazarus, Free Pascal, CodeTyphon 13 20.12.2012 18:02
Программа с применением записей и программа с применение множеств smert99 Помощь студентам 0 16.06.2011 23:14
Программа открыается если есть другая программа. bookkc Паскаль, Turbo Pascal, PascalABC.NET 12 14.10.2009 20:09