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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.61
Getchar
0 / 0 / 0
Регистрация: 21.11.2010
Сообщений: 16
#1

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

06.10.2011, 10:10. Просмотров 3899. Ответов 3
Метки нет (Все метки)

как мне сделать так, чтобы узнать простое является число или составное, не через bool, а как-нибудь через оператор switch case: т е, case 1: "Число является Простым"; break
default: "Число составное" ; break

Как-то так.

Вот код программы через бул

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>
#include <math.h>
 
using namespace std;
 
int main()
{
    double n;
    int i;
    bool prost_chislo;
    
    prost_chislo=true;
    
    cout << "Vvedite chiclo : ";
    cin >> n;
    
    double sqrt_n = sqrt(n);
    for (i=2; i <= sqrt_n; i++) 
        {
            if (fmod(n,i) == 0) 
            {
              prost_chislo = false;
             break;
            }
       }
      
    switch (prost_chislo)
    {
    case true:
              cout << "Vashe chislo prostoe.";
              break;
    default:
              cout << "Vashe chislo sostavnoe.";
              break;
    getchar();
    getchar();
    return 0;
}
}
 Комментарий модератора 
Используйте теги форматирования кода!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.10.2011, 10:10     Проверка на простоту числа
Посмотрите здесь:

C++ Проверка числа на простоту
[Cи] Проверка чисел на простоту C++
Проверка числа на простоту C++
C++ Проверка числа на простоту
Быстрая проверка натурального числа на простоту C++
C++ Проверка числа на простоту
C++ Робота с динамической памятью, проверка числа на простоту
C++ Проверка числа на простоту
Проверка числа на простоту (нужны комментарии) C++
C++ Проверка на простоту числа - исправить ошибки в коде
C++ Проверка числа на простоту
C++ Проверка числа на простоту

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alkagolik
Заблокирован
06.10.2011, 10:25     Проверка на простоту числа #2
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
#include<stdio.h>
 
_Bool prim(int tmp){
    _Bool k;
    int i;
    k = (tmp <= 1) ? 0 : 1;
    if (k){
        for (i = 2; i <= tmp / 2; ++i)
            if (!(tmp % i)){
                k = 0;
                return k;
            }
    }
    return k;
}
int main(){
    int i;
 
    for (i = 0; i < 100; ++i)
        switch(prim(i)){
            case 0: printf(" нет");
                    break;
            case 1: printf(" да %d ", i);
                    break;
        }
    printf("\n");
    return 0;
}
silent_1991
Эксперт С++
4956 / 3032 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
06.10.2011, 14:24     Проверка на простоту числа #3
Поиск простых чисел
sandye51
программист С++
677 / 579 / 39
Регистрация: 19.12.2010
Сообщений: 2,016
06.10.2011, 18:28     Проверка на простоту числа #4
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
#include <iostream>
#include <cmath>
#include <cstdlib>
 
bool is_simple(unsigned int n)
{
   unsigned int max_d = static_cast<unsigned int>(pow(n, 0.5));
   for (unsigned int i = 2; i < max_d; ++i)
      if (!(n % i))
         return false;
         
   return true;
}
 
int main()
{
   unsigned int n;
   
   std::cout << "Enter the number" << std::endl;
   std::cin >> n;
   
   std::cout << (is_simple(n) ? "Simple" : "No simple") << std::endl;
   
   return EXIT_SUCCESS;
}
Yandex
Объявления
06.10.2011, 18:28     Проверка на простоту числа
Ответ Создать тему
Опции темы

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