Форум программистов, компьютерный форум CyberForum.ru

Проверка числа на простоту - C++

Восстановить пароль Регистрация
 
solariss
0 / 0 / 0
Регистрация: 09.11.2014
Сообщений: 11
14.01.2016, 16:03     Проверка числа на простоту #1
Написать программу, которая запрашивает массив натуральных чисел (ввод с клавиатуры), а затем выводит на экран те элементы массива, которые являются простыми числами, и их количество. Проверку числа на "простату" реализовать с помощью функции int prost(int x) , которая в качестве аргумента принимает проверяемое число, а возвращает само число, если оно простое, и "0", если число не простое.
Помогите плиз.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.01.2016, 16:03     Проверка числа на простоту
Посмотрите здесь:

Проверка на простоту числа C++
Проверка числа на простоту C++
C++ Проверка числа на простоту
Быстрая проверка натурального числа на простоту C++
C++ Проверка числа на простоту
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
GbaLog-
Не Эксперт C++
1476 / 621 / 175
Регистрация: 24.08.2014
Сообщений: 2,531
Записей в блоге: 1
Завершенные тесты: 2
14.01.2016, 16:07     Проверка числа на простоту #2
solariss,
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
#include <iostream>
#include <cstdlib>
 
using namespace std;
 
int simple( int n ) {
    // игнорируем отрицательные числа
    n = abs(n);
    
    // 0 и 1 - не простые числа
    if( n == 0 || n == 1 ) return false;
    
    // находим делитель, денение на который происходит без остатка
    int div;
    for( div = n/2; n % d != 0; --div ) {
        ;
    }
    // если нет делителей >1, значит, число простое
    if( div == 1 ) { return n; }
    else return 0;
}
 
int main() {
    int n;
    cin >> n;
    int arr[n];
    for( int i = 0; i < n; i++ ) {
        cin >> arr[i];
    }
    for( int i = 0; i < n; i++ ) {
        cout << "arr[" << i << "]: " << simple(arr[n]) << endl;
    }
    cin.get();
    return 0;
}
lawr
 Аватар для lawr
350 / 244 / 120
Регистрация: 09.05.2014
Сообщений: 738
14.01.2016, 17:13     Проверка числа на простоту #3
C++
1
for( div = n/2; n % d != 0; --div )
вместо d нужно div (d не определено).
C++
1
cout << "arr[" << i << "]: " << simple(arr[n]) << endl;
передается n-тый элемент, собственно, мусор. вместо n нужно i.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11836 / 6815 / 770
Регистрация: 27.09.2012
Сообщений: 16,899
Записей в блоге: 2
Завершенные тесты: 1
14.01.2016, 17:15     Проверка числа на простоту #4
Быстрая проверка натурального числа на простоту

Добавлено через 47 секунд
Цитата Сообщение от solariss Посмотреть сообщение
Проверку числа на "простату"
а массаж простаты потом делать?
GbaLog-
14.01.2016, 17:16     Проверка числа на простоту
  #5

Не по теме:

lawr, Да, невнимательный я всё-таки. Вся проблема в том, что я почти никогда не проверяю код, когда его пишу для форума.

Yandex
Объявления
14.01.2016, 17:16     Проверка числа на простоту
Ответ Создать тему
Опции темы

Текущее время: 20:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru