Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/64: Рейтинг темы: голосов - 64, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 7

Определить является ли число простым

31.03.2010, 18:36. Показов 13179. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите,пожалуйста, решить задачку))))
Дано натуральное число n. Определить, является ли оно простым.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.03.2010, 18:36
Ответы с готовыми решениями:

Определить является ли введенное число простым
Напишите пожалуйста код программы в Visual Basic для задания:Определить является ли введенное число простым

Является ли введенное число простым
Вводиться натуральное число.Вывести на экран так,чтобы все цифры расположились в обратном порядке. Вводиться натуральное...

Составить программу, определяющую, является ли данное число N простым
в Visual Basic Циклы 2.Составить программу, определяющую, является ли данное число N простым.

13
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
31.03.2010, 18:54
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
'Теорема Вильсона
Private Sub Command1_Click()
Dim n As Single
n = InputBox("Vvedite N")
If n < 1 Then
MsgBox "error"
Exit Sub
End If
If (fact(n - 1) + 1) Mod n = 0 Then
MsgBox "Prostoe"
Else
MsgBox "ne prostoe"
End If
End Sub
 
Private Function fact(n As Integer) As Single
If n < 1 Then
fact = 1
Else
fact = n * fact(n - 1)
End If
End Function
1
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 7
31.03.2010, 19:03  [ТС]
If (fact(n - 1) + 1) Mod n = 0 Then
на этой сторчке мне ошибку выдает...(((
0
 Аватар для YuraAAA
1605 / 1337 / 291
Регистрация: 25.10.2009
Сообщений: 3,487
Записей в блоге: 2
31.03.2010, 19:12
Какую ошибку?оО напишите её. У меня на VB6 всё работает
0
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 7
31.03.2010, 20:00  [ТС]
Я ввожу 12 он мне пишет "непростое", а если ввожу 15,то он пишет: run-time error '6' overflow. Я нажимаю debug, он выделяет желтым цветом вот эту строчку: If (fact(n - 1) + 1) Mod n = 0 Then .
И так же если я ввожу 5,то он пишет "простое",а если 17,то тоже выдает ошибку.
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
31.03.2010, 20:21
Какую ошибку
Переполнение

А вот тупо без теорий. Может подойдёт
Visual Basic
1
2
3
4
5
6
7
8
Private Sub Комманда1_Click()
Dim n, i
n = InputBox("Vvedite N")
For i = 2 To n - 1
If n Mod i = 0 Then MsgBox "Не простое": Exit Sub
Next i
MsgBox "Простое"
End Sub
1
 Аватар для Toxa33rus
3924 / 925 / 125
Регистрация: 16.04.2009
Сообщений: 1,976
31.03.2010, 20:56
15 это слишком большое число (хы-хы) для выражения 15! mod ...
Вот может так:
Visual Basic
1
2
3
4
5
6
7
sub main()
n = val(InputBox("Vvedite N"))
For i=2 to n-1
  if n mod i = 0 then msgbox n & " очень сложное": exit sub
next i
msgbox n & " простое"
end sub
Добавлено через 49 секунд
Alex77755, да что ж такое
Теперь все подумают что я списал у тебя
0
 Аватар для Alex77755
11525 / 3812 / 683
Регистрация: 13.02.2009
Сообщений: 11,229
31.03.2010, 20:58
15 это слишком большое число
Не знаю. Не стал разбираться, но кричит "переполнение"
0
 Аватар для Toxa33rus
3924 / 925 / 125
Регистрация: 16.04.2009
Сообщений: 1,976
31.03.2010, 21:36
А я решил разобраться и вот результат - я второй
Вот при 13 и 14:
479001600 : Variant/Long
6227020800 : Variant/Double
первое проходит, второе нет. Значит Mod понимает максимум Long или число 2 млрд.
0
здесь больше нет...
3376 / 1674 / 184
Регистрация: 03.02.2010
Сообщений: 1,219
31.03.2010, 22:57
Цитата Сообщение от Alex77755 Посмотреть сообщение
Переполнение

А вот тупо без теорий. Может подойдёт
Visual Basic
1
2
3
4
5
6
7
8
Private Sub Комманда1_Click()
Dim n, i
n = InputBox("Vvedite N")
For i = 2 To n - 1
If n Mod i = 0 Then MsgBox "Не простое": Exit Sub
Next i
MsgBox "Простое"
End Sub
несколько штрихов добавлю:
Visual Basic
1
2
3
4
5
6
7
8
   Dim n, i
   n = InputBox("Vvedite N")
   If n Mod 2 = 0 Then MsgBox "Не простое", , "Чётное": Exit Sub
   
   For i = 3 To n \ 3
      If n Mod i = 0 Then MsgBox "Не простое", , i: Exit Sub
   Next i
   MsgBox "Простое"
1
 Аватар для Toxa33rus
3924 / 925 / 125
Регистрация: 16.04.2009
Сообщений: 1,976
31.03.2010, 23:08
Цитата Сообщение от аналитика Посмотреть сообщение
несколько штрихов добавлю
ага, так быстрее будет в 3 раза. красавчег!
0
здесь больше нет...
3376 / 1674 / 184
Регистрация: 03.02.2010
Сообщений: 1,219
01.04.2010, 11:01
Меня понесло
Visual Basic
1
2
3
4
5
6
7
8
9
   Dim n, i
   n = InputBox("Vvedite N")
   
   For i = 2 To n
      If n Mod i = 0 Then MsgBox "Не простое", , i: Exit Sub
      m = n \ i 'верхняя граница приближается
      If i > m Then Exit For
   Next i
   MsgBox "Простое"
Так еще быстрее...

Добавлено через 11 часов 45 минут
И еще сокращаем в 2 раза - в начале отсеиваем четные, потом просматривать только нечетные (с учетом сжатия диапазона поиска)
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
   Dim n, i
   n = InputBox("Vvedite N")
   If n=2 Then MsgBox "Простое", , "2 - простое число": Exit Sub 
   If n Mod 2 = 0 Then MsgBox "Не простое", , "Чётное": Exit Sub
   
   For i = 3 To n Step 2
      If n Mod i = 0 Then MsgBox "Не простое", , i: Exit Sub
      m = n \ i 'верхняя граница приближается
      If i > m Then Exit For
   Next i
   MsgBox "Простое"
1
0 / 0 / 0
Регистрация: 31.03.2010
Сообщений: 7
01.04.2010, 19:23  [ТС]
оооо)))сколько ответов)))Мальчики,спасибо вам огромное :*****)))))))
0
andreiex
20.04.2011, 13:25
Вот мое решение:

Private Sub Command3_Click()
n = InputBox("Введите N")
k = 0
For i = 1 To n
r = n Mod i
If r = 0 Then k = k + 1
Next i
If k > 2 Then Picture1.Print n; " - не является простым числом" Else: Picture1.Print n; " - простое число"
End Sub
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.04.2011, 13:25
Помогаю со студенческими работами здесь

Определить для любого числа – является ли оно простым
1. Преобразовать любое число от 1 до 10 из римской формы записи в арабскую. 2. Определить наибольший общий делитель двух чисел. ...

Ввести целое число и определить, является ли данное число простым или нет
Ввести целое число и определить является ли данное число простым или нет. (желательно простым кодом для начинающих). Заранее благодарю.

Определить, является ли число простым
While22. Дано целое число N (&gt; 1). Если оно является простым, то есть не имеет положительных делителей, кроме 1 и самого себя, то вывести...

Определить, является ли число простым
Можете написать код? Ввести число с клавиатуры и определить , просто е ли оно или нет? Спасибо

Определить, является ли число простым
Здравствуйте,вот и новая тема.)Вторая задача - тест на простоту. #include &lt;stdio.h&gt; #include &lt;conio.h&gt; int main (void) { ...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью в конфигурации КА2. Данные берутся из регистра сведений, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru