1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
uses graphABC;
var n,da,db,x1,y1,x2,y2:integer;
begin
repeat
write('Введите количество точек от 2 до 50 n=');
readln(n);
until n in [2..50];
clearwindow;
da:=(windowwidth-100)div (n-1);//расстояние между точками ввверху
db:=da div 4;//то же внизу
if odd(n) then//если n нечетное
begin
x1:=windowwidth div 2-da*(n div 2);
x2:=windowwidth div 2-db*(n div 2);
end
else //если четное
begin
x1:=windowwidth div 2-da*(n div 2-1)- da div 2;
x2:=windowwidth div 2-db*(n div 2-1)- db div 2;
end ;
y1:=50;
y2:=windowheight-50;
for var i:=0 to n-1 do
line(x1+i*da,y1,x2+i*db,y2);
line(x1,y1,x1+(n-1)*da,y1);
line(x2,y2,x2+(n-1)*db,y2);
end.
Объяснение:
#include <iostream> // iostream
int main() { // int main
int N; // N
int M; // M
int sum = 0; // сумма чисел хэмминга от n до m
std::cout << "N: "; // запрашиваем N
std::cin >> N;
std::cout << "M: "; // запрашиваем M
std::cin >> M;
int *hemming = new int[M - N + 1]; // массив с числами хемминга
int counter = 0; // размер массива
for (int i = N; i <= M; ++i) { // записываем числа в массим хемминга
if (i % 2 == 0 || i % 3 == 0 || i % 5 == 0) { // если остаток от деления
std::cout << i << " "; // на 2 или 3 или 5 равен нулю
hemming[counter] = i; // и выводим.
sum += hemming[counter]; // прибавляем к сумме числа
++counter; // увеличиваем счётчик
}
}
std::cout << std::endl << sum; // выводим сумму
}
var a,sumc,kn: integer;
ot: byte;
begin
readln(a);
kn:=0;
sumc:=0;
ot:=0;
while a<>0 do
begin
if a<0 then ot:=1;
if a mod 2=0 then sumc:=sumc+a else
kn:=kn+1;
readln(a);
end;
writeln('сумма четных: ',sumc);
writeln('кол-во нечетных: ',kn);
if ot=1 then write('да');
end.