Описание проблемы: я пытаюсь выполнить задачу, упомянутую здесь - https://codereview.stackexchange.com/questions/182483/advent-of-code-2017-day-1-sum-of-digits-matching-the-next-digit-circular-list
Но в Windows Power Shell используется простая логика цикла (как я новичок в Power Shell)
Задача требует просмотреть последовательность цифр и найти сумму всех цифр, которые соответствуют следующей цифре в списке.Список является круглым, поэтому цифра после последней цифры является первой цифрой в списке.Например:
1122 дает сумму 3 (1 + 2), поскольку первая цифра 1 соответствует второй цифре, а третья цифра 2 соответствует четвертой цифре;1111 выдает 4, потому что каждая цифра (все 1) соответствует следующей;1234 выдает 0, потому что ни одна цифра не соответствует следующей;91212129 выдает 9, потому что единственная цифра, которая соответствует следующей, является последней цифрой, 9
Я закодировал это:
foreach($line in [System.IO.File]::ReadLines("./task1.txt"))
{
$data = ($line)
}
$i=0
Do
{
if ($data[$i] -eq $data[$i+1]) {
$final += $data[$i]
}
$i++
}
While ($i -le $data.Length)
($final | Measure-Object -Sum).sum
Мой «task1.txt» содержит значение- «1122»
$ final хранит значение «12», эти цифры ожидаются, но я не могу их суммировать, чтобы получить желаемый ответ - «3»
Когда я пытаюсьиспользовать:
foreach($line in [System.IO.File]::ReadLines("./task1.txt"))
{
[int[]]$data = [int[]]$line.split('')
}
Мои "$ data" получают целое значение "1122"
Пожалуйста, помогите!