Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 27
1

Найдите все числа из интервала (100, 200), цифровой корень которых является простым числом (1, 2, 3, 5, 7)

15.04.2015, 17:47. Показов 1398. Ответов 5
Метки нет (Все метки)

Что не так? и где ввести ограничение чтоб было простое число???
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Dim m, s, c, k, a As Byte
        For m = 100 To 200
            k = m
            Do
                s = 0
                Do
                    c = k Mod 10
                    s = s + c
                    k = k \ 10
                Loop Until k = 0
                k = s
            Loop Until s <= 9
            a = m Mod s
            If a = 0 Then
                Console.WriteLine(s)
                k = k + 1
            End If
        Next m
        Console.ReadLine()
    End Sub
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2015, 17:47
Ответы с готовыми решениями:

Напечатать все числа интервала [100,200], цифровой корень которых кратный (3,6,9)
Сделайте пожалуйста задачу Напечатать все числа интервала , цифровой корень которых кратный...

Найдите все числа из интервала (100, 200), которые кратны своему цифровому корню
Помогите решить на VBA

Найти все простые числа, не превосходящие заданного числа, сумма цифр которых, также является простым числом
Срочно нужен код программы в C++ (желательно с комментариями). Я бы разобрался и сам, но на это...

Цикл: Определить все числа, принадлежат промежутку [10,99], сумма цифр которых является простым числом.
Помогите решить задачу: &quot;Определить все числа, принадлежат промежутку , сумма цифр которых является...

5
1995 / 1166 / 444
Регистрация: 20.12.2014
Сообщений: 3,090
15.04.2015, 18:34 2
Цитата Сообщение от DjVitalii Посмотреть сообщение
Что не так?
Во-первых, в консоль нужно выводить m, а не s. Во-вторых, k=k+1 не имеет смысла, следующим шагом у вас k = m.
Цитата Сообщение от DjVitalii Посмотреть сообщение
и где ввести ограничение чтоб было простое число???
Ограничение, а точнее проверку на "простоту" нужно вводить между 14 и 15 строкой вашего кода. Например, так:
VB.NET
1
2
3
4
5
6
            If a = 0 Then
                For i = 1 To 9
                     If s Mod i = 0 Then sch = sch + 1
                Next i
                If sch < 3 Then Console.WriteLine(m)
            End If
1
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 27
15.04.2015, 19:27  [ТС] 3
Цитата Сообщение от chumich Посмотреть сообщение
VB.NET
1
2
3
4
5
If a = 0 Then
   For i = 1 To 9
         If s Mod i = 0 Then sch = sch + 1
   Next i
   If sch
если задаю sch < 3 то не работает, а так работает но почему то только к 108 и выводит число 4...

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
        Dim m, s, c, k, a, sch As Byte
        For m = 100 To 200
            k = m
            Do
                s = 0
                Do
                    c = k Mod 10
                    s = s + c
                    k = k \ 10
                Loop Until k = 0
                k = m
            Loop Until s <= 9
            a = m Mod s
            If a = 0 Then
            End If
            For i = 1 To 9
                If s Mod i = 0 Then sch = sch + 1
            Next i
            If sch Then
                Console.WriteLine(m)
                Console.WriteLine(a)
            End If
        Next m
        Console.ReadLine()
0
1995 / 1166 / 444
Регистрация: 20.12.2014
Сообщений: 3,090
15.04.2015, 19:56 4
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Сначала не внимательно посмотрел весь код. Зачем у вас строка:
VB.NET
1
a = m Mod s
и последующее сравнивание с 0?
Я переделал немного - работает правильно. Только вместо консоли поставил MsgBox.
VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
        Dim m, s, c, k, a As Byte
        For m = 100 To 200
            k = m
            Do
                s = 0
                Do
                    c = k Mod 10
                    s = s + c
                    k = k \ 10
                Loop Until k = 0
                k = s
            Loop Until s <= 9
            a = 0
                For i = 1 To 9
                     If s Mod i = 0 Then a = a + 1
                Next i
                If a < 3 Then MsgBox ("Число: " & m & "цифровой корень: " & s)
        Next m
1
0 / 0 / 0
Регистрация: 15.04.2015
Сообщений: 27
15.04.2015, 20:11  [ТС] 5
Большое спасибо))
0
COM‐пропагандист
548 / 478 / 107
Регистрация: 18.12.2014
Сообщений: 1,301
Записей в блоге: 3
15.04.2015, 20:52 6
Ловите функциональщину в этом треде:
VB.NET
1
2
3
4
Dim simple As Func(Of Integer, Integer, Boolean) = Function(x, i) If(x = 1, False, If(x = i, True, If((x Mod i) = 0, False, simple(x, i + 1))))
Dim dq As Func(Of Integer, Integer) = Function(x) If(x < 10, x, dq(x Mod 10 + dq(x \ 10)))
Dim q = Enumerable.Range(100, 100).Where(Function(x As Integer) simple(dq(x), 2))
Console.WriteLine(String.Join(vbCrlF, q.Select(Function(x) x.ToString).ToArray()))
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.04.2015, 20:52

Найдите все натуральные числа n, при которых число n5 + n4 + 1 является простым. В ответе укажите количество найденных чисел n.
Помогите написать программу (на паскале) для решения задачи: Найдите все натуральные числа n, при...

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

В двоичном дереве удалить все узлы, значения которых является простым числом
Задание:в двоичном дереве удалить все узлы, значения которых является простым числом. Пожалуста...

Найти все элементы массива, сумма цифр которых является простым числом.
1)Найти все элементы массива, сумма цифр которых является простым числом. 2)Найти такой элемент...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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