Программа получает на вход последовательность целых неотрицательных чисел

Программа получает на вход последовательность целых неотрицательных чисел, каждое число записано в отдельной строке. Последовательность завершается числом 0, при считывании которого программа должна закончить свою работу и вывести количество членов последовательности (не считая завершающего числа 0). Числа, следующие за числом 0, считывать не нужно.

Решение задачи от разработчиков на Python:

Copy to Clipboard

Другое решение задачи на Python:

Copy to Clipboard

Смотреть видео — Задача «Длина последовательности» решение на Python

Делитесь с друзьями ссылкой на ответ и задавайте вопросы в комментариях!

Источник: pyanswer.site

Анатолий
Анатольевич
Eфремов

Цикл while (“пока”) позволяет выполнить одну и ту же последовательность действий, пока проверяемое условие истинно. Условие записывается до тела цикла и проверяется до выполнения тела цикла. Как правило, цикл while используется, когда невозможно определить точное значение количества проходов исполнения цикла.

Последовательность целых чисел

Синтаксис цикла while в простейшем случае выглядит так:

while условие:
блок инструкций

При выполнении цикла while сначала проверяется условие. Если оно ложно, то выполнение цикла прекращается и управление передается на следующую инструкцию после тела цикла while. Если условие истинно, то выполняется инструкция, после чего условие проверяется снова и снова выполняется инструкция. Так продолжается до тех пор, пока условие будет истинно. Как только условие станет ложно, работа цикла завершится и управление передастся следующей инструкции после цикла.

Например, следующий фрагмент программы напечатает на экран квадраты всех целых чисел от 1 до 10. Видно, что цикл while может заменять цикл for . in range(. ) :

i = 1
while i 0:
n //= 10
length += 1

В этом цикле мы отбрасываем по одной цифре числа, начиная с конца, что эквивалентно целочисленному делению на 10 (n //= 10), при этом считаем в переменной length, сколько раз это было сделано.

В языке Питон есть и другой способ решения этой задачи: length = len(str(i)).

Инструкции управления циклом

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

i = 1
while i 9 .

Выходные данные
Выведите ответ на задачу.

Ввод Вывод
15 3

Решение
n = int(input())
i = 2
while i * i n:
print(n)

Задача №3644. Список степеней двойки

По данному числу N распечатайте все целые степени двойки, не превосходящие N, в порядке возрастания.

Операцией возведения в степень пользоваться нельзя!

Читайте также:
8 лучших программ для клонирования жесткого диска

Входные данные
Вводится натуральное число.

Выходные данные
Выведите ответ на задачу.

Ввод Вывод
50 1 2 4 8 16 32

Решение
n = int(input())
i = 1
while i k ≥ N.

Операцией возведения в степень пользоваться нельзя!

Входные данные
Вводится натуральное число.

Выходные данные
Выведите ответ на задачу.

Ввод Вывод
7 3

Решение
n = int(input())
i = 1
k = 0
while i 9 , и завершается числом 0. Определите значение наибольшего элемента последовательности.

Входные данные
Вводится последовательность целых чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).

Выходные данные
Выведите ответ на задачу.

Ввод Вывод
1
7
9
9

Решение
a = -1
m = 0
while a != 0:
a = int(input())
if a >= m:
m = a
print(m)

Задача №3654. Количество элементов, которые больше предыдущего

Последовательность состоит из натуральных чисел и завершается числом 0. Определите, сколько элементов этой последовательности больше предыдущего элемента.

Входные данные
Вводится последовательность целых чисел, оканчивающаяся числом 0 (само число 0 в последовательность не входит, а служит как признак ее окончания).

Выходные данные
Выведите ответ на задачу.

Ввод Вывод
1
7
9
2

Решение
elem = int(input())
i = 0
while elem != 0:
f = int(input())
if f != 0 and elem max1:
max2 = max1
max1 = elem
elif elem > max2:
max2 = elem
elem = int(input())
print(max2)

Задача №3659. Числа Фибоначчи

Последовательность Фибоначчи определяется так:

По данному числу n определите n-е число Фибоначчи φn.

Входные данные
Вводится натуральное число n.

Выходные данные
Выведите ответ на задачу.

Ввод Вывод
6 8

Решение
n = int(input())
a = 0
b = 1
count = 0
s = 0
if n == 0:
print(0)
elif n == 1:
print(1)
elif n > 1:
while count != n — 1:
s = a + b
a, b = b, s
count += 1
print(s)

Задача №3660. Номер числа Фибоначчи

Последовательность Фибоначчи определяется так:

Дано натуральное число A. Определите, каким по счету числом Фибоначчи оно является, то есть выведите такое число n, что φn = A.

Если А не является числом Фибоначчи, выведите число -1.

Входные данные
Вводится натуральное число A.

Выходные данные
Выведите ответ на задачу.

Ввод Вывод
8 6

Ввод Вывод
10 -1

Решение
f = 0
f1 = 1
f2 = 0
i = 0
a = int(input())
while f prev2 and prev1 > elem:
count += 1
prev2 = prev1
prev1 = elem
elem = int(input())
print(count)

Источник: www.izenglish.ru

Решение модуля 1.5 Введение в программирование C++

Модуль 1.5 (Цикл while) Данный модуль научит писать код, который позволяет автоматически повторять одни и те же действия несколько раз. В программировании повторение действий называется циклом.

Ниже представлены примеры задач с решением на C++ на тему Цикл while.

По данному целому числу N распечатайте все квадраты натуральных чисел, не превосходящие N, в порядке возрастания.

#include #include using namespace std; int main() < int n, i; cin >> n; i = 1; while (pow(i, 2) return 0; >

Дано целое число, не меньшее 2. Выведите его наименьший натуральный делитель, отличный от 1.

#include #include using namespace std; int MinDivisor(int n,int d=2) < if (d else MinDivisor(n, d + 1); > else return n; > int main()< int n; cin >> n; cout

По данному числу N распечатайте все целые степени двойки, не превосходящие N, в порядке возрастания.

#include #include using namespace std; int main() < int n, i; cin >> n; i = 0; while (pow(2,i) return 0; >

Дано натуральное число N. Выведите слово YES, если число N является точной степенью двойки, или слово NO в противном случае.

#include #include using namespace std; int main() < int n, i; cin >> n; i = 0; while (i i += 1; if (i == 100) < cout > return 0; >

Программа получает на вход последовательность целых неотрицательных чисел, каждое число записано в отдельной строке. Последовательность завершается числом 0, при считывании которого программа должна закончить свою работу и вывести количество членов последовательности (не считая завершающего числа 0).
Числа, следующие за числом 0, считывать не нужно.

#include #include using namespace std; int main() < int n, i; n = 1; i = 0; while (n != 0) < cin >> n; i += 1; > cout

Определите сумму всех элементов последовательности, завершающейся числом 0.

#include #include using namespace std; int main() < int n, sum; n = 1; sum = 0; while (n != 0) < cin >> n; sum += n; > cout

Последовательность состоит из натуральных чисел и завершается числом 0. Определите значение наибольшего элемента последовательности.

#include using namespace std; int main() < int max,a; cin>>a; max=a; while (a!=0)< if (a>max) max=a; cin>>a; > cout

Последовательность состоит из натуральных чисел и завершается числом 0. Определите, какое количество элементов этой последовательности, равны ее наибольшему элементу.

#include #include using namespace std; int main() < int n, max,i; i = 0; n = 1; max = -1000; while (n != 0) < cin >> n; if (max < n) < max = n; i = 1; >else if (max == n) < i += 1; >> cout

Последовательность состоит из натуральных чисел и завершается числом 0. Определите значение второго по величине элемента в этой последовательности, то есть элемента, который будет наибольшим, если из последовательности удалить наибольший элемент.

#include using namespace std; int main() < int i, n, m = 1; cin >> n; i = n; while (n != 0) < cin >> n; if (n >= i) < m = i; i = n; >else if (n >= m) < m = n; >else < continue; >> cout

Последовательность Фибоначчи определяется так:

F(0) = 0, F(1) = 1, …, F(n) = F(n−1) + F(n−2).

По данному числу N определите N-е число Фибоначчи F(N).

#include #include using namespace std; int main() < int n, f1, f2, i, tmp; cin >> n; i = 3; f1 = 1; f2 = 1; while (i cout

Последовательность Фибоначчи определяется так:

F(0) = 0, F(1) = 1, …, F(n) = F(n−1) + F(n−2).

Дано натуральное число A. Определите, каким по счету числом Фибоначчи оно является, то есть выведите такое число N, что F(N) = A. Если А не является числом Фибоначчи, выведите число -1.

#include using namespace std; int main() < int N, f2 = 2, f1 = 1, i = 1, d = 0; cin >> N; while (i <=N) < if (N == i) < cout << f2; return 0; >f2++; d = i; i+= f1; f1 = d; > cout

Дана последовательность натуральных чисел, завершающаяся числом 0. Определите, какое наибольшее число подряд идущих элементов этой последовательности равны друг другу. Если не нашлось ни одной пары, тройки и т.д. элементов, равных друг другу, то программа должна вывести число 1.

#include using namespace std; int main() < int a = 1, p = 1, n = 0, i = 0; while (a != 0) < cin >> a; if (a == n) < p++; >if (i < p) < i = p; >if (a != n) < p = 1; >n = a; > cout

Элемент последовательности называется локальным максимумом, если он строго больше предыдущего и последующего элемента последовательности. Первый и последний элемент последовательности не являются локальными максимумами.

Дана последовательность натуральных чисел, завершающаяся числом 0. Определите количество строгих локальных максимумов в этой последовательности.

#include using namespace std; int main() < int a,b=0,c=0,d=0; while (cin>>a a!=0) < if (b>a b>c c!=0) d++; c=b; b=a; > cout

Определите наименьшее расстояние между двумя локальными максимумами последовательности натуральных чисел, завершающейся числом 0. Если в последовательности нет двух локальных максимумов, выведите число 0.

Начальное и конечное значение при этом локальными максимумами не считаются.

Расстоянием считается количество пробелов между элементами. В качестве примера смотрите первый тест.

Читайте также:
При увеличении разрешения с помощью программ повышается качество

#include using namespace std; int main() < int prv, cur, nxt, pos = 0, prv_max = 0, min_len = 0, cur_len; int count = 0; if (cin>>prv prv) < if (cin >> cur cur) < if (cin >> nxt) < pos = 2; while (nxt) < if ((prv < cur) (cur >nxt)) < if (prv_max != 0 ) < cur_len = pos — prv_max; if (min_len == 0) min_len = cur_len; else min_len = min(min_len,cur_len); >prv_max = pos; > prv = cur; cur = nxt; cin >> nxt; pos++; > > > > cout

Источник: zazloo.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru