Решение, задачи "Даны действительные числа 1,2,…70. Вывести последовательность 2,3,…,70,1". см. Файл.
P.S. Решение на указателях.
gcc: 4.8.1
Исходные данные:
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 <span>44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70
После сдвига:
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 60 61 62 63 64 65 66 67 68 69 70 1</span>
<span>419 + например 4559
1319 - т.к. сумма четных цифр дает четное число, а здесь все нечетные
2014 - убывание или числа 2 и 014, а число не может начинаться с 0
1811 - убывание</span><span>
1212 + например 6657
205 - т.к. в порядке неубывания могут стоять только 2 и 05, а на 0 числа не начинаются
322 + 3886
294 - </span>т.к. в порядке неубывания могут стоять только 2 и 94, а сумма 3 чисел не может превышать 27<span>
55 - т.к. все 4 нечетные числа в сумме дают максимум 36, а 5 и 5 невозможно, т.к. 5 не может быть суммой четных чисел
Итого: 3 числа</span>
<em>/ PascalABC.NET 3.2, сборка 1385 от 14.02.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
Writeln('Поквартирная численность жильцов');
var a:=ArrRandom(36,1,10); a.Println;
var mx:=a.Max;
Write('Квартиры с максимальным количеством жильцов: ');
a.Select((x,i)->(x,i)).Where(x->x[0]=mx).Select(x->x[1]+1).Println
end.
<u>Пример</u>
Поквартирная численность жильцов
7 9 6 7 8 9 1 4 7 8 8 8 1 7 7 8 3 10 7 7 2 9 7 3 2 8 2 2 10 4 4 5 2 1 7 1
Квартиры с максимальным количеством жильцов: 18 29