Замечание. Так как количество вводимых чисел заранее не известно, то откроем бесконечный цикл со всегда верным условием True, но как только будет введено число 0, остановим цикл командой break.
Программа:
program z; var k,s,x:integer; begin k:=0; {начальное значение количества двузначных чисел} s:=0; {начальное значение суммы двузначных чисел} while True do {открываем бесконечный цикл} begin readln(x); {вводим число х} if x=0 then break; {если введенное число равно 0, то остановить цикл} if (x>9)and(x<100) then {если число двузначное, т.е. от 10 до 99} begin k:=k+1; {количество увеличиваем на 1} s:=s+x; {увеличиваем предыдущее значение суммы на число х} end; end; if k=0 then writeln('NO') {если двузначных чисел не было, то вывод NO} else writeln(s/k); {иначе вывод ср.арифметического} end.
#include <iostream>
using namespace std;
int fib (int position);
int main()
{
int answer,position;
cout<<"Which position(k) ?";
cin >> position;
cout << "\n";
answer= fib(position);
cout <<answer<< " (k) is the position";
cout <<position << "Fibonachi number.\n";
return 0;
}
int fib(int n)
{
int minusTwo=1, minusOne=1,answer=2;
if (n<3)
return 1;
for (n-=3;n;n--)
{
minusTwo=minusOne;
minusOne=answer;
answer=minusOne + minusTwo;
}
return answer;
}
Объяснение:
Наскільки я зрозумів це задача на визначення значення порядкового номера ряду Фібоначчі ,тому ось вихідний код на C++