Задача
1. Сума (20 бал.)
Розробіть
програму для обчислення значення виразу з n цілих чисел (1<n<104), який представлено за правилом:
1-2+3-4+5-6+…
Задача 2. Годинник (30 бал.)
Годинник з
боєм відбиває кількість ударів відповідно до годин на циферблаті, й відбиває
один удар, коли хвилинна стрілка вказує на 6. Знаючи початковий та кінцевий час
однієї доби (в годинах і в хвилинах), обчислити загальну кількість ударів за
цей проміжок часу.
Задача
3. Найдовша послідовність(50 бал.)
В
заданому N-значному числі M залишити
найдовшу послідовність сусідніх різних цифр й визначити на яких місцях у числі
М стоять перша і остання цифра цієї послідовності. N може
змінюватися від 1 до 100.
Приклад вхідних та вихідних даних.
Input.txt |
202132911 |
Задане
число М |
Output.txt |
3291 5 8 |
Найдовша
послідовність Місця
першої і останньої цифри найдовшої послідовності |
Задача1
s=0
for i in range (1,n+1):
if i%2>0:
s+=i
else:
s-=i
print (s)
Завдання№3
var
a: array [1..101] of int64;
b : Array [1..101] of string;
S,S1: string;
N,i,j,D,l,E: integer;
max: int64;
begin
for I:=1 to 101 do
B[i]:='';
read(S);
N:=Length (S);
for i:=1 to N do
for j:=i to N do
if (pos (S[j],B[i]))=0 then B[i]:=B[i]+S[j]// запись не повторяющихся чисел в массив Б
else break;
for i:=1 to N do
begin
Val(B[i],A[i],E);//перевод строки в число
//write (A[i],' ');
end;
max:=A[1];
for I:=1 to n do
if max<A[i] then begin// поиск максимального
max:=A[i];
end;
str(max,S1);// перевод максимального в строку
L:=pos(S1,S);//определяем порядковый номер вхождения максимального
в строку
Writeln (max);
d:=Length(S1);// длина максимального
D:=D+l-1;
write (L,' ',D );
end.
Завдання 1
program zadaza1;
var
i,n,S : int64;
f,f1 : text;
begin
Assign (f,'input.txt');
Reset (f);
read(f,N);
close (f);
S:=0;
for I:=1 to N do
if (I mod 2) >0 then S:=S+i else S:=S-i;
Assign (f1,'output.txt');
Rewrite (f1);
write (f1, S);
close (f1);
end.
Завдання 2 (частково)
program zadaza2;
var
G1,X1,G2,X2, G,X,i : integer;
t,t1,t2: longint;
begin
write ('введіть години та
хвилини початку =');
read (G1,X1);
write ('введіть години та
хвилини кінця =');
read (G2,X2);
G:=0;
if (X1<=30) then T1:=1 else T1:=0;
if (X2>=30) then T2:=1 else T2:=0;
if (G2>=G1) then
if X1=0 then
for I:=g1 to g2 do
G:=G+i
else
for I:=g1+1 to g2 do
G:=G+i;
T:=g2-(g1+1)+t1+t2;
G:=g+t;
write (g);
end.
задача 3 (интересный вариант)
var
i,j,n,D,D1,Y : integer;
X,S,S1 : string;
begin
read (X);
N:=Length (X);
s1:=X[1];
D:=1;
for I:=1 to n do
begin
S:='';
for J:=i to n do
if Pos (X[j],S)=0 then S:=S+X[j] else break ;
D1:=Length (S);
if D1>D then
begin
s1:=S;
D:=D1;
end;
end;
Writeln (S1);
Y:= pos(s1,X);
Write (Y,' ');
Write (Y+D-1);
end.
задача 3
s='202132911'
n=len (s)
#for i in range (n):
# print (s[i])
s2=int(s[0])
l=0
for i in range (n):
s1=''
for j in range (i,n):
if not (s[j] in s1):
s1+=s[j]
if int(s1)>s2:
s2=int(s1)
l=i
else:
#print (s1)
break
print (s2)
print (l+1,' ',end='')
print (l+len(str(s2)))
Задача 3
s='12112300'
s2=s[0]
for i in range (len(s)):
s1=''
s3=s[i:]
for j in s3:
if not(j in s1):
#print(j)
s1+=j
if len(s1)>len(s2):
s2=s1
else:
break
print (s2)
l=s.index (s2)+1
print (l,' ',end='')
print (len (s2)+l-1)
Немає коментарів:
Дописати коментар