Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
21 / 1 / 1
Регистрация: 22.12.2013
Сообщений: 196
Записей в блоге: 2

Найти все простые числа, меньшие натурального числа n

19.05.2015, 11:40. Показов 2018. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите исправить ошибки и доработать программу. В бейсике не шарю вообще.
main
VB.NET
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
40
41
Imports System.Console
Module Main
 
    'Выполняет ввод данных, вызов процедуры решения и печать результата
    Sub main()
        Dim i As Long
        Dim a[] As Long
        Dim n As Long        'Число, которое нужно проверить
        Dim f1 As Boolean        'f1==true - неверный ввод
        Dim Ex As ConsoleKeyInfo    'Описывает нажатую клавишу консоли
        Dim flag As Boolean
 
        'Зацикливаем программу 
        Do
            'Ввод исходных данных
            f1 = True
            Do While f1
                Clear()               'Очистка экрана
                Write("Введите проверяемое натуральное число:") : n = ReadLine()
                If (n < 2 Or n > 32767) Then  'Проверка на допустимые значения
                    WriteLine("Число должно быть в диапазоне [2:32767].Попробуйте ещё раз.")
                    ReadLine()
                Else : f1 = False
                End If
 
            Loop
 
            If Solution(n) Then  'Печать результата
                WriteLine("***************************")
                Write("Число ")
                Write(n)
                For i = 0 To a[i]>0 and a[i]<=n
                Next a[i]
                WriteLine(" Выводятся все простые числа ")
            End If
 
            WriteLine("Выход – Esc, повтор – любая другая клавиша")
            Ex = ReadKey(True)
        Loop Until Ex.Key = ConsoleKey.Escape
    End Sub
End Module
Solution
VB.NET
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
Module Sol
    'Процедура проверки на простое число
    Function Solution(ByVal x As Short) As Boolean
        Dim i As Short          'Количество простых чисел в массиве
        Dim j As Short          'Переменные цикла
        Dim k As Short
        Dim flag As Short
        Dim pr(200) As Short    'Массив простых чисел
 
        i = 0
        a[0]=1
        j = 1
        For i = 2 To n
            flag = 1
            For k = 2 To k * k <= i
                If i Mod k = 0 Then
                    flag = 0
                    Exit For
            If flag Then
                a [j] = i
                j += 1
            End If
        Next
    End Function
End Module
Добавлено через 2 минуты
Вот программа в C++
Main
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
#include <stdio.h>
#include <coniow.h>
#define ESC 27
#include <limits.h>
#define SIZE 1000
 
void Solution(short a[SIZE], //
                   short n);  //
 
int main(void){
                     short i, n;
                     short a[SIZE];
                     bool fl;
   
   do{
         fl=true;
         while(fl){
                  clrscr(); //очистка экрана
                  printf("Число n:"); scanf("%hd", &n);
                        if (n<1){       //проверка на допустимые значения
                           printf("Число должно быть в диапазоне [1:%d].Попробуйте ещё раз.\n",SHRT_MAX);
               getch();
                        }else fl=false;
               }
                     
        Solution(a, n);
               printf("************************\n");
        for(i=0; a[i]<=n && a[i]>0; i++)
                     printf("%hd ", a[i]);
               printf("- Выводятся все простые числа\n");
               printf("\n************************\n");
        printf("\nВыход - Esc, продолжение - любая клавиша\n");
   }while(getch()!=ESC);
   }
Solution
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#define SIZE 1000
void Solution(short n,short a[SIZE]){
            int i,j,k;
            int flag;
            a[0]=1;
            j=1;
            for (i = 2; i <= n; i++)
      {
         flag = 1;
            for (k = 2; k*k <= i; k++){
            if (i % k == 0){
            flag = 0;
            break;
            }
         }
               if (flag ){
               a[j]=i;
               j++;
               }
      }
   }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.05.2015, 11:40
Ответы с готовыми решениями:

Все числа, меньшие числа К, записываются в один файл, а числа, большие К – в другой файл
Помогите пожалуйста!!! Программа открывает текстовый файл, который содержит некоторое количество целых чисел. Создаются два новых пустых...

Вывести все простые числа до заданного числа включительно
Дано натуральное число. Вывести все простые числа до числа заданного включительно. Помогите решить, пожалуйста. Visual Basic 2010 ...

Найти простые числа в двухмерном массиве и вывести номера столбцов в которых больше чем 2 числа
У меня как бы задание из 2-мерного массива найти простые числа и вывести номера столбцов в которых больше чем 2 простых числа где они...

1
12 / 12 / 2
Регистрация: 13.04.2015
Сообщений: 94
20.05.2015, 12:11
Neotwalker, проверить программу полностью сейчас не могу, но вижу сразу ошибку в цикле for в vb цикл с параметром отличается от c++, в нем нет логического условия. Т.е цикл For имеет вид
VB.NET
1
2
3
For i=1 to 10
тело цикла
next
Для цикла с условие нужно использовать:

VB.NET
1
2
3
4
5
6
7
8
9
10
   Do While (условие: boolean)
      тело цикла
   Loop
'Пример
   i = 0
   Do While (i<10)
      a +=i
      console.writln("a= " & a)
      i +=1
   Loop
Добавлено через 3 часа 15 минут
Еще ошибка в обращении к элементам массива: индекс задается в круглых скобках a(1)=0
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.05.2015, 12:11
Помогаю со студенческими работами здесь

Определить все детали для заданного натурального числа
Записать и отгладить код программы,определяющий для заданного натурального числа все его детали. Натуральное число это например 5 а все...

Требуется вывести все простые делители введенного числа.
Вводится число. Требуется вывести все простые делители введенного числа. Помогите пожалуйста..

Вывести все представления натурального числа N суммой натуральных чисел
Вот ударила мне мысль, порешать задачки по информатике. Наткнулся на задачу 2006 года. Вот она какая. Вывести все представления...

Выяснить, равен ли квадрат натурального числа кубу суммы цифр этого числа
Есть задание, дано натуральное число N. Выяснить, равен ли квадрат числа N кубу суммы цифр этого числа. Вот реализация самой программы ...

Если все числа больше 10 и первые два числа делятся на 3, то вывести yes
вводим три числа.Если все числа больше 10 и первые два числа делятся на 3 то вывести yes, иначе no


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru