Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.93/15: Рейтинг темы: голосов - 15, средняя оценка - 4.93
0 / 0 / 0
Регистрация: 14.06.2019
Сообщений: 10

Нахождение наименьшего общего кратного

05.10.2019, 18:55. Показов 2999. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, создал список, который заполняется случайными числами. Нужно найти наименьшее число, кратного 10.
Не знаю как дальше продолжить. Помогите
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
using System;
using System.Collections.Generic;
 
namespace Collections
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Изначальный список:");
            Random rnd = new Random();
            List<int> numbers = new List<int>();
            for (int q = 0; q < 10; q++) // заполнение листа
            {
                numbers.Add(rnd.Next(1, 1000)); // диапазон от 1 до 1000
                Console.WriteLine(numbers[q]); 
            }
            Console.WriteLine("Результат:");
            int i = 0;
            while (i < numbers.Count)
            {
                if ((numbers[i] % 10) == 0);
               {
                
               }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
05.10.2019, 18:55
Ответы с готовыми решениями:

Нахождение наибольшего общего делителя и наименьшего общего кратного двух чисел
Задача на функции 1. Составить программу нахождения наибольшего общего делителя и наименьшего общего кратного двух натуральных чисел...

Нахождения наименьшего общего кратного трех натуральных чисел
Составить программу нахождения наименьшего общего кратного трех натуральных чисел.

Составить программу для нахождения наименьшего общего кратного трех натуральных чисел
Помогите написать код. Составить программу для нахождения наименьшего общего кратного трех натуральных чисел. Я ее написал , но...

11
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16123 / 11247 / 2888
Регистрация: 21.04.2018
Сообщений: 33,073
Записей в блоге: 2
06.10.2019, 07:34
Цитата Сообщение от Locman1
Не знаю как дальше продолжить.
C#
18
19
20
21
22
23
24
25
26
int min = int. MaxValue;
foreach (int num in numbers)
   if ( num % 10 == 0 && num < min)
        min = num;
 
if (min == int. MaxValue)
     Console. Write("Чисел кратных десяти нет");
else
     Console. Write (min);
2
0 / 0 / 0
Регистрация: 14.06.2019
Сообщений: 10
06.10.2019, 16:12  [ТС]
Оно должно выполняться в цикле while, то есть список просматривается 1 раз.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16123 / 11247 / 2888
Регистрация: 21.04.2018
Сообщений: 33,073
Записей в блоге: 2
06.10.2019, 16:35
Locman1, список и так просматривается только один раз.
Если по условию задачи надо именно через while, то замените foreach. Как в вашем варианте, только оставьте проверку из моего варианте.
0
0 / 0 / 0
Регистрация: 14.06.2019
Сообщений: 10
06.10.2019, 16:52  [ТС]
23 int min = int. MaxValue;
Что означает эта строка? Зачем она нужна, получается всегда будет false
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16123 / 11247 / 2888
Регистрация: 21.04.2018
Сообщений: 33,073
Записей в блоге: 2
06.10.2019, 17:46
Цитата Сообщение от Locman1
получается всегда будет false
Вы же получаете числа рандомно.
Гарантии что хоть одно число будет кратным нет.
Проверка именно на случай что нет ни одного кратного десяти.
Маловероятная комбинация, но всё же не нулевая.
0
0 / 0 / 0
Регистрация: 14.06.2019
Сообщений: 10
06.10.2019, 18:08  [ТС]
Не выводится, что нет кратных 10, когда их нет.
C#
1
2
3
4
5
6
7
8
9
10
while (i < numbers.Count)
            {
                if (numbers[i] % 10 == 0 && numbers[i] < min)
                {
                    min = numbers[i];
                    if (min == int.MaxValue) 
                        Console.WriteLine("Чисел кратных десяти нет");
                    else
                        Console.WriteLine($"НК 10--> {min}");
                }
Наверное нужно скобки изменить в условии или как? У меня не получилось.
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16123 / 11247 / 2888
Регистрация: 21.04.2018
Сообщений: 33,073
Записей в блоге: 2
06.10.2019, 20:05
Locman1, приложите хоть чёрточек усилий для понимания кода, изучения основных операторов
Это же один из самых лёгких языков!
Все фигурные скобки - лишние.
C#
1
2
3
4
5
6
7
8
9
10
            while (i < numbers.Count)
          //  {
                if (numbers[i] % 10 == 0 && numbers[i] < min)
            //    {
                    min = numbers[i];
                    if (min == int.MaxValue) 
                        Console.WriteLine("Чисел кратных десяти нет");
                    else
                        Console.WriteLine($"НК 10--> {min}");
               // }
0
0 / 0 / 0
Регистрация: 14.06.2019
Сообщений: 10
06.10.2019, 20:07  [ТС]
Это фрагмент кода, после него идут еще выполнение 2 действий. Поэтому там стоят фигурные скобки
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16123 / 11247 / 2888
Регистрация: 21.04.2018
Сообщений: 33,073
Записей в блоге: 2
06.10.2019, 20:10
Более полный вариант, чтобы понятнее было
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
           int min = int. MaxValue; 
            int i=0;
            while (i < numbers.Count)
            {
                if (numbers[i] % 10 == 0 && numbers[i] < min)
                {
                    min = numbers[i];
                 }
                i++;
             }
 
             if (min == int.MaxValue) 
                   Console.WriteLine("Чисел кратных десяти нет");
             else
                   Console.WriteLine($"НК 10--> {min}");
0
0 / 0 / 0
Регистрация: 14.06.2019
Сообщений: 10
06.10.2019, 21:03  [ТС]
Вот весь код, в результате он выводит пошаговое нахождение( нет, нет, 30, 30, 30, 10, 10 и.т.д.). Как выводить только самый последний результат?
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
40
41
42
43
44
45
46
47
48
49
50
using System;
using System.Collections.Generic;
 
namespace Collections
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Изначальный список:");
            Random rnd = new Random();
            List<int> numbers = new List<int>();
            for (int q = 0; q < 20; q++) // заполнение листа 
            {
                numbers.Add(rnd.Next(1, 150)); // диапазон от 1 до 1000 
                Console.WriteLine(numbers[q]);
            }
            Console.WriteLine("Результат:");
            int min = int.MaxValue;
            int i = 0;
            while (i < numbers.Count)
            {
                if (numbers[i] % 10 == 0 && numbers[i] < min)
                {
                    min = numbers[i];
                }
                if (min == int.MaxValue)
                    Console.WriteLine("Чисел кратных десяти нет");
                else
                    Console.WriteLine($"НК 10--> {min}");
                if (numbers[i] > 99 && numbers[i] < 1000)
                {
                    numbers.Insert(i + 1, numbers[i]); // (а, б): а- куда вставить после поиска, б- вставляем копию 
                    i += 1; //Шаг повторения 
                }
                if (numbers[i] > 9 && numbers[i] < 100)
                {
                    numbers.RemoveAt(i);
                    i--;
                }
                i++;
            }
            for (int q = 0; q < numbers.Count; q++)
            {
                Console.WriteLine(numbers[q]);
            }
            Console.ReadKey();
        }
    }
}
0
Модератор
Эксперт .NET
 Аватар для Элд Хасп
16123 / 11247 / 2888
Регистрация: 21.04.2018
Сообщений: 33,073
Записей в блоге: 2
06.10.2019, 21:09
Ответ на код в личке
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
40
41
42
43
44
45
46
47
48
49
50
using System;
using System.Collections.Generic;
 
namespace Collections
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Изначальный список:");
            Random rnd = new Random();
            List<int> numbers = new List<int>();
            for (int q = 0; q < 20; q++) // заполнение листа 
            {
                numbers.Add(rnd.Next(1, 150)); // диапазон от 1 до 1000 
                Console.WriteLine(numbers[q]);
            }
            Console.WriteLine("Результат:");
            int min = int.MaxValue;
            int i = 0;
            while (i < numbers.Count)
            {
                if (numbers[i] % 10 == 0 && numbers[i] < min)
                {
                    min = numbers[i];
                }
                if (min == int.MaxValue)
                    Console.WriteLine("Чисел кратных десяти нет");
                else
                    Console.WriteLine($"НК 10--> {min}");
                if (numbers[i] > 99 && numbers[i] < 1000)
                {
                    numbers.Insert(i + 1, numbers[i]); // (а, б): а- куда вставить после поиска, б- вставляем копию 
                    i += 1; //Шаг повторения 
                }
                if (numbers[i] > 9 && numbers[i] < 100)
                {
                    numbers.RemoveAt(i);
                    i--;
                }
                i++;
            }
            for (int q = 0; q < numbers.Count; q++)
            {
                Console.WriteLine(numbers[q]);
            }
            Console.ReadKey();
        }
    }
}
Locman1, вот вам полный код.
Но срочно подтягивайтесь свои знания или бросаете программирование.
Если вы не способны вставить готовый код в свой код - возникают большие сомнения в вашей возможности освоить программирование.
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
using System;
using System.Collections.Generic;
 
namespace Collections
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Изначальный список:");
            Random rnd = new Random();
            List<int> numbers = new List<int>();
            for (int q = 0; q < 20; q++) // заполнение листа 
            {
                numbers.Add(rnd.Next(1, 150)); // диапазон от 1 до 1000 
                Console.WriteLine(numbers[q]);
            }
            Console.WriteLine("Результат:");
            int min = int.MaxValue;
            int i = 0;
            while (i < numbers.Count)
            {
                if (numbers[i] % 10 == 0 && numbers[i] < min)
                {
                    min = numbers[i];
                }
                i ++; // Пропущено увеличении счётчика
            } // Здесь цикл поиска минимума завершён
 
            // Вывод результата после цикла поиска минимума
                if (min == int.MaxValue)
                    Console.WriteLine("Чисел кратных десяти нет");
                else
                    Console.WriteLine($"НК 10--> {min}");
 
 
// А вот что это дальше делается - я без понятия
// В задании по это ничего нет.
 
                if (numbers[i] > 99 && numbers[i] < 1000)
                {
                    numbers.Insert(i + 1, numbers[i]); // (а, б): а- куда вставить после поиска, б- вставляем копию 
                    i += 1; //Шаг повторения 
                }
                if (numbers[i] > 9 && numbers[i] < 100)
                {
                    numbers.RemoveAt(i);
                    i--;
                }
                i++;
            }
            for (int q = 0; q < numbers.Count; q++)
            {
                Console.WriteLine(numbers[q]);
            }
            Console.ReadKey();
        }
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.10.2019, 21:09
Помогаю со студенческими работами здесь

Нахождение наименьшего общего делителя
Нужно сделать что бы при повторном вычислении старый результат удалялся из текст бокса. И что бы при нажатии на текст бокс текст...

Нахождение кратного числа
Всех приветствую. Помогите написать простую программу на Visual C#. &quot;На форме расположить 3 поля ввода и кнопку. В поля ввода ввести...

Программа для поиска наименьшего общего делителя
Здравствуйте. Я начинающий программист, сейчас начал изучать (3 дня назад) с# Решил написать программу, которая ищет наименьший общий...

Нахождение наименьшего нечетного натурального делителя
Составить функцию для нахождения наименьшего нечетного натурального делителя k (k не равно 1) любого заданного натурального числа n. ...

Нахождение наименьшего нечетного элемента одномерного массива (массивы одинаковые при разных запусках)
Программа должна находить наименьший нечетный элемент одномерного массива. При повторном заполнении выводится тоже число что и при первом ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru