Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
2 / 2 / 1
Регистрация: 25.11.2014
Сообщений: 87
1

Определение простоты числа

12.05.2016, 12:05. Показов 2544. Ответов 5

Author24 — интернет-сервис помощи студентам
Добрый день.
Задача заключается в том, что нужно определить простоту определенного числа.
Как сделать программу, определяющую простоту массива - это понятно, но как сделать, что б программа определяла простоту определенного числа, введенного с клавиатуры?
Подскажите, пожалуйста, как можно исправить код.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    class Program
    {
        public bool Prime(int x)
        {
            for (int i = 2; i < x / 2 + 1; i++)
                if ((x % i) == 0) return false;
            return true;
        }
    }
 
    class Program1
    {
        public static void Main()
        {
            Program a = new Program();
            for (int i = 1; i < 10; i++)
                if (a.Prime(i)) Console.WriteLine(i + " простое число.");
                else Console.WriteLine(i + " не простое число.");
            Console.ReadKey();
        }
    }
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2016, 12:05
Ответы с готовыми решениями:

Определение простоты числа
Задача: Определить простое число или ... ? Простое число:...

Определение простоты большого числа
вроде поискал по похожим темам, но ничего сдобного не нашел как бы программа работает неправильно,...

Определение простоты числа
Как определить простое число на Visual Basic или QBasic

Определение простоты числа
Помогите написать программу в Delphi: проверить является ли целое число, введенное пользователем,...

5
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
12.05.2016, 12:10 2
Лучший ответ Сообщение было отмечено nhbh как решение

Решение

Если не ошибаюсь.
C#
1
2
3
4
5
6
7
8
public static void Main()
        {
            Program a = new Program();
            for (int i = 1; i < 10; i++)
                if (a.Prime(Convert.ToInt32(Console.ReadLine()))) Console.WriteLine(i + " простое число.");
                else Console.WriteLine(i + " не простое число.");
            Console.ReadKey();
        }
1
2 / 2 / 1
Регистрация: 25.11.2014
Сообщений: 87
12.05.2016, 12:19  [ТС] 3
Все работает, спасибо.
А почему при отладке выводит:
"№числа
1 простое число"

Почему приписывается "1"?
0
Хитрая блондиночка $)
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
12.05.2016, 12:25 4
Цитата Сообщение от nhbh Посмотреть сообщение
Почему приписывается "1"?
Потому что у тебя в выводе написано:
Цитата Сообщение от Hikari Посмотреть сообщение
i + " простое число."
1
58 / 58 / 47
Регистрация: 16.09.2014
Сообщений: 158
12.05.2016, 13:46 5
Привет! Можно и так :
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
namespace SimpleNumber
{
   class SimpleNum
    {
        public int dig;
 
        public bool Prime(int x)
        {
            for (int i = 2; i < x / 2; i++)
                if ((x % i) == 0) return false;
            return true;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
 
            SimpleNum a = new SimpleNum();
            a.dig = Convert.ToInt32(Console.ReadLine());
            if (a.Prime(a.dig)) Console.WriteLine(a.dig + " простое число.");
            else Console.WriteLine(a.dig + " не простое число.");
            Console.ReadLine();
        }
 
    }
}
Цикл for :
C#
1
 for (int i = 1; i < 10; i++)
в методе Main() не нужен если в методе Prime задаем конкретное число.
1
107 / 107 / 58
Регистрация: 04.03.2013
Сообщений: 479
12.05.2016, 14:17 6
C#
1
for (int i = 2; i < x / 2; i++)
вот эту строчку хорошо бы для быстродействия алгоритма немного изменить )
C#
1
for (int i = 2; i < (int)Math.Sqrt(x)-1; i++) // в википедии написано почему так :)
1
12.05.2016, 14:17
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.05.2016, 14:17
Помогаю со студенческими работами здесь

Циклы: определение простоты числа
Составить программу, определяющие, является ли данное число N простым? P. S. Составить через...

Рекурсивное определение простоты числа
вот код ,определяет является ли число простым непонятно, почему когда переменная b становится =...

Рекурсия : определение простоты числа
Задачка у меня следующая: Как известно, с помощью рекурсивных функций можно реализовать любой...

Рекурсия: определение простоты числа
это код нахождения простого числа, я написал его без рекурсии, с циклом, вопрос, как сделать без...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru