Const
nm = 50;{ предельное число товаров }
var
mn: array[1..nm] of string;
mk, ms: array[1..nm] of real;
i, k, n: integer;
min: real;
begin
Write('Введите число продуктов на складе (не более ', nm, '): ');
Readln(n);
min := 1e10;
for i := 1 to n do
begin
Write('Наименование продукта ', i, ': '); Readln(mn[i]);
Write('Количество и стоимость: '); Readln(mk[i], ms[i]);
if min > mk[i] then begin min := mk[i]; k := i end
end;
Writeln('На складе меньше всего продукта ', mn[k], ': ', mk[k],
' кг. стоимостью ', ms[k], ' руб. за 1 кг.')
end.
1.
#include <iostream>
using namespace std;
void main()
{
//задаём русский язык для консоли
setlocale(LC_ALL, "Russian");
long sum = 0;
int a;
cout << "Введите a" << endl;
cin >> a;
if (a > 500)
{
cout << "а > 500" << endl;
}
else
{
sum = (500 * 501 / 2) - ((a - 1) * a ) / 2;
cout << sum;
}
}
2.
#include <iostream>
using namespace std;
void main()
{
//задаём русский язык для консоли
setlocale(LC_ALL, "Russian");
double average = (1 + 1000) / 2.;
cout << "Среднее арифметические чисел от 1 до 1000" << average << endl;
}
3
#include <iostream>
using namespace std;
void main()
{
//задаём русский язык для консоли
setlocale(LC_ALL, "Russian");
int a = 0, b = 0;
cout << "Введите границы диапазона" << endl;
cin >> a >> b;
cout << "Все числа:" << endl;
if (a <= b)
{
for (int i = a; i <= b; i++)
{
cout << i << endl;
}
}
else
{
for (int i = b; i < a; i++)
{
cout << i << endl;
}
}
cout << "Чётные числа:" << endl;
if (a <= b)
{
for (int i = a; i <= b; i++)
{
if (i % 2 == 0)
{
cout << i << endl;
}
}
}
else
{
for (int i = b; i < a; i++)
{
if (i % 2 == 0)
{
cout << i << endl;
}
}
}
cout << "Нечётные числа:" << endl;
if (a <= b)
{
for (int i = a; i <= b; i++)
{
if (i % 2 != 0)
{
cout << i << endl;
}
}
}
else
{
for (int i = b; i < a; i++)
{
if (i % 2 != 0)
{
cout << i << endl;
}
}
}
cout << "Числа, кратные 7:" << endl;
if (a <= b)
{
for (int i = a; i <= b; i++)
{
if (i % 7 == 0)
{
cout << i << endl;
}
}
}
else
{
for (int i = b; i < a; i++)
{
if (i % 7 == 0)
{
cout << i << endl;
}
}
}
}
4.
#include <iostream>
using namespace std;
void main()
{
//задаём русский язык для консоли
setlocale(LC_ALL, "Russian");
int a = 0, sum = 0;
cout << "Введите числа" << endl;
while (true)
{
cin >> a;
if (a == 0)
{
break;
}
sum += a;
}
cout << "Сумма =" << sum << endl;
}
Var
a, b:array[1..10000] of integer;
n, count, i, ianswer, cnt: integer;
Begin
Readln(n);//количество пар
For i:= 1 to n do
begin
Read(a[i]);//читаем первый катет
Readln(b[i]);//читаем второй катет
end;
ianswer:= 1;
count:= 1;
For i:= 2 to n do
begin
if a[i]*b[i] = a[ianswer]*b[ianswer] then inc(count);
if a[i]*b[i] > a[ianswer]*b[ianswer] then
begin
count:= 1;
ianswer:=i;
end;
end;
if count = 1 then begin
Writeln('Треугольник с наибольшей площадью равной ', a[ianswer]*b[ianswer],
'и, имеет размеры катетов ', a[ianswer], ' и ', b[ianswer], '. Номер треуголника: ', ianswer);
halt;
end;
Writeln('Всего ', count, ' Треугольника(-ов) с максимальной площадью равной ', a[ianswer]*b[ianswer]);
cnt:= 1;
For i:= 1 to n do
if a[ianswer]*b[ianswer] = a[i] * b[i] then begin
Writeln(cnt, '-й треугольник имеет катеты ',a[i], ' и ', b[i], '. Номер этого треугольника:', i);
inc(cnt);
end;
end.
Сначала банальный код - рабочий, но уже на больших числах будет переполнение переменной факториала.
var n, i, fact, ans : integer;
begin
read(n);
fact := 1;
for i := 2 to n do
fact := fact * i;
while (fact mod 10 = 0) do begin
ans := ans + 1;
fact := fact div 10;
end;
writeln(ans);
<span>end.
Теперь более "умный" код, в нём использован тот факт, что простое число p входит в разложение факториала числа N = [N/p] + [N/p^2] + [N/p^3] + ..., где [x] - целая часть числа x.
var n, i, fact, c, pow, ans : integer;
{c - сколько раз входит в разложение числа n! цифра 5}
begin
read(n);
pow := 5;
while (pow <= n) do begin
c += n div pow;
pow := pow * 5;
end;
writeln(c);
<span>end.</span></span>
<em>// PascalABC.NET 3.2, сборка 1379 от 21.01.2017</em>
<em>// Внимание! Если программа не работает, обновите версию!</em>
begin
var a:=Arr(-6,7,45,-12,2,7,-15,0,64);
var kp:=0; var sp:=0;
for var i:=0 to a.Length-1 do begin
WritelnFormat('A[{0}]={1}',i,a[i]);
if a[i]>0 then begin kp+=1; sp+=a[i] end
end;
Writeln('Сумма ',kp,' положительных элементов равна ',sp)
end.
Результат
A[0]=-6
A[1]=7
A[2]=45
A[3]=-12
A[4]=2
A[5]=7
A[6]=-15
A[7]=0
A[8]=64
Сумма 5 положительных элементов равна 125
<em>Задание 2</em>
begin
Writeln(SeqGen(40,x->45*x+15,1).Where(x->x.IsOdd).Count);
end.
<u>Результат</u>
20
<em>Задание 3</em>
begin
Writeln(SeqGen(25,k->7*k+3*k/15,1).Average);
end.
<u>Результат</u>
93.6