|
Главная | Правила | Регистрация | Дневники | Справка | Пользователи | Календарь | Поиск | Сообщения за день | Все разделы прочитаны |
![]() |
|
Опции темы | Опции просмотра |
![]() |
#1 (permalink) |
Member
Регистрация: 22.10.2016
Сообщений: 62
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
![]() Задается случайное семизначное число. В этом числе две не крайние и не рядом стоящие цифры заменяются на два знака +. То есть образуется арифметическое выражение, означающее, что надо сложить три числа. Надо определить куда поставить эти два знака +, чтобы сумма имела минимальное значение. Вывести на экран: 1) исходное число 2) арифметическое выражение 3) минимум Вопросы 1. Есть ли иное решение этой задачи? 2. Поможет ли здесь массив? И как? 3. Как решить эту задачу, если и число будет вдвое длиннее и знаков + вдвое больше? 4. Что можно посоветовать, если длина числа будет неопределенной величиной? Код:
CLS RANDOMIZE TIMER DIM ns AS STRING DIM ns2 AS STRING n = 1000000 + 9000000 * RND ns = LTRIM$(STR$(n)) min = 1017 FOR i = 2 TO 4 FOR j = i + 2 TO 6 a = VAL(LEFT$(ns, i - 1)) b = VAL(MID$(ns, i + 1, j - 1 - i)) c = VAL(MID$(ns, j + 1)) d = a + b + c IF d < min THEN min = d ns2 = ns MID$(ns2, i, 1) = "+" MID$(ns2, j, 1) = "+" END IF NEXT j, i PRINT ns PRINT ns2 PRINT "MIN ="; min END |
![]() |
![]() |
![]() |
|
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
Тема с похожих содержанием уже встречалась, можете прочитать Яркость монитора падает на минимум Минимум из четырёх чисел Минимум железа для разгона моего процессора |
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
![]() |
Опции темы | |
Опции просмотра | |
|
|