Статья на тему Подготовка к олимпиадам по информатике:Условный оператор. Цыклы. Часть 1
Циклы. Задачи: вычисление сумм и произведений
Задача A. Сумма квадратов
По данному натуральному n вычислите сумму 12+22+...+n2.
Формат входных данных
Вводится единственное число n.
Формат выходных данных
Необходимо вывести вычисленную сумму.
Пример
Ввод Вывод
2 5
Задача B. Факториал
Вычислите N! ("эн-факториал") – произведение всех натуральных чисел от 1 до N ( N!=1∙2∙3∙…∙ N ). N – натуральное, не превосходит 12.
Примеры
Входные данные Выходные данные
2 2
3 6
Задача C. Степень
Выведите число 2 N. N не превосходит 30.
Примеры
Входные данные Выходные данные
2 4
3 8
Задача D. Число сочетаний
По данным натуральным n и k вычислите значение (число сочетаний из n элементов по k).
Формат входных данных
Вводятся 2 числа - n и k (n,k30 ).
Формат выходных данных
Необходимо вывести значение .
Примеры
Входные данные Выходные данные
2
1 2
Задача E. Геометрическая прогрессия
По данному действительному числу a и натуральному n вычислите сумму 1+a+a2+...+an, не используя формулу суммы геометрической прогрессии. Время работы программы должно быть пропорционально n.
Формат входных данных
Вводятся 2 числа - a и n.
Формат выходных данных
Необходимо вывести значение суммы.
Пример
Ввод Вывод
2
2 7
Задача F. Сумма - 1
По данному числу n вычислите сумму 1+1/22+1/32+...+1/n2.
Формат входных данных
Вводится одно число n, не превосходящее 100000.
Формат выходных данных
Необходимо вывести значение суммы.
Пример
Ввод Вывод
2 1.25
Задача G. Сумма - 2
По данному числу n вычислите сумму 4(1-1/3+1/5-1/7+...+(-1)n/(2n+1)).
Формат входных данных
Вводится одно число n, не превосходящее 100000.
Формат выходных данных
Необходимо вывести значение выражения.
Пример
Ввод Вывод
1 2.666667
Задача H. Сумма степеней
Вычислите 1+2+22+23+…+2N. N – натуральное, не превосходит 30.
Примеры
Входные данные Выходные данные
1 3
2 7
Задача I. 1/0!+1/1!+1/2!+...
По данному натуральному числу N найдите сумму чисел 1+1/1!+1/2!+1/3!+...+1/N!. Количество действий должно быть пропорционально N.
Формат входных данных
Задано единственное число N.
Формат выходных данных
Необходимо вывести результат вычисления в виде действительного числа.
Пример
Ввод Вывод
1 2
Задача A. Сумма квадратов
var n,summa,i:longint;
begin read(n);
summa:=0;
for i:=1 to n do
summa:=summa+i*i;
write(summa);
end.
Задача B. Факториал
var n,i:integer;
f:longint;
begin read(n);
f:=1;
for i:=1 to n do
f:=f*i;
write(f);
end.
Задача C. Степень
var n,i:integer;
s:longint;
begin read(n);
s:=1;
for i:=1 to n do
s:=s*2;
write(s);
end.
Задача D. Число сочетаний
var n,k,i:integer;
nf,kf,nkf:longint;
begin read(n,k);
nf:=1;
for i:=1 to n do
nf:=nf*i;
kf:=1;
for i:=1 to k do
kf:=kf*i;
nkf:=1;
for i:=1 to n-k do
nkf:=nkf*i;
write(nf div kf div nkf);
end.
Задача E. Геометрическая прогрессия
var a,s,p:real;
n,i:integer;
begin read(a,n);
s:=1;
p:=1;
for i:=1 to n do
begin p:=p*a;
s:=s+p;
end;
write(s);
end.
Задача F. Сумма - 1
var n,i:longint;
d,s:real;
begin read(n);
s:=1;
for i:=2 to n do
begin d:=1/(i*i);
s:=s+d;
end;
write(s);
end.
Задача G. Сумма - 2
var n,i,z:longint;
summa,d:real;
begin read(n);
summa:=1;
z:=-1;
for i:=1 to n do
begin d:=z/(2*i+1);
summa:=summa+d;
z:=-z;
end;
write(4*summa);
end.
Задача H. Сумма степеней
var n,i,s,summa:longint;
begin read(n);
summa:=1;
s:=1;
for i:=1 to n do
begin s:=s*2;
summa:=summa+s;
end;
write(summa);
end.
Задача I. 1/0!+1/1!+1/2!+...
var n,i,z:longint;
s:real;
begin read(n);
s:=1;
z:=1;
if n>31 then n:=31;
for i:=1 to n do
begin z:=z*i;
s:=s+1/z;
end;
write(s);
end.