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

Найти максимальное расстояние между двумя числами во вложенном цикле

02.11.2018, 13:15. Показов 2926. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему находит неправильный максимум между двумя билетами?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 int k = 0, sottis, destis,tis,sot,des,ed;
                int max = 0;int pred = 0;int tek=0;
 
              for (sottis = 0; sottis < 10; sottis++)
                    for (destis = 0; destis < 10; destis++)
                           for (tis = 0; tis < 10; tis++)
                                for (sot = 0; sot < 10;sot++)
                                    for (des = 0; des < 10; des++)
                                        for (ed = 0; ed < 10; ed++)
 
                                        {
                                            if (sottis + destis + tis == sot + des + ed)
                                            {
                                               ++k;
                                                tek = 100000 * sottis + 10000 * destis + 1000 * tis + 100 * sot + 10 * des + ed;
                                                if (tek - pred > max){ max = tek - pred; pred = tek; }
                                            }
                                    }
                Console.WriteLine("число счастливых билетов " + k);
                double s = (double)k/10000;
                Console.WriteLine("шанс получить билет {0}%",s);
                Console.WriteLine("наибольшее расстояние между двумя соседними билетами {0} ", max);
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.11.2018, 13:15
Ответы с готовыми решениями:

Найти расстояние между двумя вершинами в графе
Столкнулся с проблемой , стрелки с двухсторонним движением. Они создают ряд ошибок которые я не в состоянии исправить.Подскажите или...

Найти кратчайшее расстояние между двумя вершинами в графе
Найти кратчайшее расстояние между двумя вершинами в графе. Найти все возможные пути между этими двумя вершинами в графе не пересекающиеся...

Найти расстояние Хэмминга между двумя массивами a[] и b[] размера N;
Найти расстояние Хэмминга между двумя массивами a и b размера N; Входные данные: Первая строка размер массивов - N. Вторая строка - N...

15
 Аватар для ashsvis
923 / 503 / 202
Регистрация: 08.10.2018
Сообщений: 1,553
Записей в блоге: 11
02.11.2018, 14:36
Fulawka, этот код почему-то меня пугает!
0
0 / 0 / 0
Регистрация: 10.02.2017
Сообщений: 9
02.11.2018, 14:46  [ТС]
ashsvis, обычный перебор счастливых билетиков) Понять не могу, почему не выдает ответ max=1001
0
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
02.11.2018, 14:57
Цитата Сообщение от ashsvis Посмотреть сообщение
этот код почему-то меня пугает!
Так понятно почему - циклов маловато.

По теме:
Под расстоянием между числами Вы понимаете число отличных друг от друга цифр, в определенной позиции?
0
0 / 0 / 0
Регистрация: 10.02.2017
Сообщений: 9
02.11.2018, 15:02  [ТС]
Не думаю, что делать через массив или через цикл от 0 до 1000000 с разбиением счетчика цикла на div mod было бы лучше
Sanya_sa, максимальное расстояние между двумя соседними счастливыми билетами получается
0
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
02.11.2018, 16:02
Fulawka, мне задание не понятно) В теме написано "Найти максимальное расстояние между двумя числами во вложенном цикле", код Ваш даже разбирать не хочу - страшно, в самом топике Вы уже про билеты какие то говорите ). Как связаны билеты и числа, да еще и расстояния между числами ???

Что мы на вход подаем? Какие данные? Числа? билеты? Что такое билет? Короче одни вопросы)

Вы бы задание сформулировали, может тогда смогу помочь.
0
0 / 0 / 0
Регистрация: 10.02.2017
Сообщений: 9
02.11.2018, 16:08  [ТС]
Sanya_sa, программа находит все счастливые билеты(билет считается счастливым, если сумма первых 3 цифр равна сумме 3 последних, например, 134503)
Далее в задании необходимо найти наибольшее расстояние между соседними счастливыми билетами (ответ: 1001)
0
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
02.11.2018, 16:30
Немного костыльно, но все же, вот билеты счасливые.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
private List<string> Ft()
{
    var res = new List<string>();
 
    for (int i = 1; i < 999999; i++)
    {
        var s = string.Format("{0:000000}", i);
 
        var n1 = (int)s[0] + (int)s[1] + (int)s[2];
        var n2 = (int)s[3] + (int)s[4] + (int)s[5];
 
        if (n1 == n2)
        {
            res.Add(s);
        }
    }
 
    return res;
}
Что такое расстояние между билетами?
0
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
02.11.2018, 16:53
А если так?
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
private List<int> Ft()
{
    var res = new List<string>();
 
    for (int i = 1; i < 999999; i++)
    {
        var n1 = this.Sum(i % 1000);
        var n2 = this.Sum(i / 1000);;
 
        if (n1 == n2)
        {
            res.Add(i);
        }
    }
 
    return res;
}
 
private int MaxLenght(List<int> list) {
  var result = 0;
 
for(int index = 0; index < list.Count - 1; index++){
  if(list[index + 1] - list[index] > result) {
 result = list[index + 1] - list[index];
}
}
  return result;
}
 
private int Sum(int num) {
  var sum = 0;
 
  while(num > 0) {
   res  += num % 10;
   num /= 10;
}
 
return sum;
}
Добавлено через 3 минуты
А вот верный вариант
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
private List<int> Ft()
{
    var res = new List<int>();
 
    for (int i = 0; i < 1000000; i++)
    {
        var n1 = this.Sum(i % 1000);
        var n2 = this.Sum(i / 1000); ;
 
        if (n1 == n2)
        {
            res.Add(i);
        }
    }
 
    return res;
}
 
private int MaxLenght(List<int> list)
{
    var result = 0;
 
    for (int index = 0; index < list.Count - 1; index++)
    {
        if (list[index + 1] - list[index] > result)
        {
            result = list[index + 1] - list[index];
        }
    }
    return result;
}
 
private int Sum(int num)
{
    var sum = 0;
 
    while (num > 0)
    {
        sum += num % 10;
        num /= 10;
    }
 
    return sum;
}
1
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
02.11.2018, 16:58
Цитата Сообщение от EveKS Посмотреть сообщение
this.Sum
а это как работает?
0
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
02.11.2018, 17:00
Цитата Сообщение от Sanya_sa Посмотреть сообщение
а это как работает?
this - текущий объект, Sum - метод.

private int Sum(int num)

Добавлено через 55 секунд
C#
1
2
3
4
5
6
7
8
        static void Main(string[] args)
        {
            var p = new Program();
 
            Console.WriteLine(p.MaxLenght(p.Ft()));
 
            Console.ReadKey();
        }
0
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
02.11.2018, 17:00
Цитата Сообщение от EveKS Посмотреть сообщение
this - текущий объект
а что им является этим обьектом?
0
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
02.11.2018, 17:01
Sanya_sa, в моем случае, класс Program
0
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
02.11.2018, 17:04
Цитата Сообщение от EveKS Посмотреть сообщение
в моем случае, класс Program
у класса Program есть Sum? По ходу я чего то не знаю)
Ладно пойду мат часть почитаю.
0
 Аватар для EveKS
601 / 485 / 185
Регистрация: 19.04.2016
Сообщений: 1,885
02.11.2018, 17:05
Sanya_sa, там в коде есть Sum, если поскролить вниз
0
 Аватар для Sanya_sa
912 / 816 / 333
Регистрация: 03.02.2015
Сообщений: 5,276
Записей в блоге: 9
02.11.2018, 17:07
Цитата Сообщение от EveKS Посмотреть сообщение
там в коде есть Sum, если поскролить вниз
)))) зачет! )))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
02.11.2018, 17:07
Помогаю со студенческими работами здесь

Найти расстояние между двумя заданными множествами на плоскости
Досталось такое задание: Расстояние между двумя множествами точек – это расстояние между наиболее близко расположенными точками этих...

Расстояние между двумя точками
Нужно в методе Distance одной строкой посчтитать расстояние между точками, ночто-то у меня не выходит, объясните в что не так) using...

Расстояние между двумя точками
Вычислить расстояние между точками (x1,y1) и (x2,y2) Только начинаю программировать не могу решить ее.

Определить расстояние между двумя точками
Создать класс Tochka. Реализовать в классе конструктор по умолчанию(без параметров) и с параметрами, ряд методов для работы с точками...

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


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru