Var k, s: integer; begin s: =1; k: =0; while k < 13 do begin s: =s+2*k; k: =k+4; end; write(s+k); end. нужно составить уравнение/неравенство для решения для лучшего понимая как можно подробнее
Var x,y,z,f:integer; begin write('Введите число: '); readln(x); while x>0 do begin y:=x mod 10; z:=x div 10; while z>0 do begin if (z mod 10)=y then f:=1; z:=z div 10; end; x:=x div 10; end; if f=1 then writeln('Верно, есть одинаковые цифры') else writeln('Нет одинаковых цифр') end.
Если использовать строковые ф-ии, то программа будет проще: var i,k,f:integer; s,t:string; begin write('Введите число: '); readln(s); k:=length(s); for i:= 1 to k do begin t:=copy(s,i+1,k-i+1); if pos(s[i],t)>=1 then f:=1; end; if f=1 then writeln('Верно, есть одинаковые цифры') else writeln('Нет одинаковых цифр') end.
Program HardZadacha; Var 1,2,3,4,5,6,7,8,9,0:array [0..5] of integer; a,i,x:integer; begin Writeln('Введите целое число : '); Read(a); for i:=1 to 5 do begin if a mod 10 =0 then 0[i]:=0[i]+1; if a mod 10 =1 then 1[i]:=1[i]+1; if a mod 10 =2 then 2[i]:=2[i]+1; if a mod 10 =3 then 3[i]:=3[i]+1; if a mod 10 =4 then 4[i]:=4[i]+1; if a mod 10 =5 then 5[i]:=5[i]+1; if a mod 10 =6 then 6[i]:=6[i]+1; if a mod 10 =7 then 7[i]:=7[i]+1; if a mod 10 =8 then 8[i]:=8[i]+1; if a mod 10 =9 then 9[i]:=9[i]+1; a:=a mod 10; end;
for i:=2 to 5 do begin if 0[i]+0[i-1]>1 then x:=1; if 1[i]+1[i-1]>1 then x:=1; if 2[i]+2[i-1]>1 then x:=1; if 3[i]+3[i-1]>1 then x:=1; if 4[i]+4[i-1]>1 then x:=1; if 5[i]+5[i-1]>1 then x:=1; if 6[i]+6[i-1]>1 then x:=1; if 7[i]+7[i-1]>1 then x:=1; if 8[i]+8[i-1]>1 then x:=1; if 9[i]+9[i-1]>1 then x:=1; end; if x=1 then writeln('Есть повторяющие цифры') else writeln('Нет повторяющихся цифр'); end.
так, ну смотри.
у тебя изначально даны две переменные
s, которое равно 1
k, которое равно 0
программа заходит в цикл, в котором пока k будет меньше 13
будут выполняться данные вычисления
получается, что каждый раз, числу s и k будут присваиваться новые значения
щас распишу
s=1+2*0 (s=1)k=0+4 (k=4)s=1+2*4 (s=9)k=4+4 (k=8)s=9+2*8 (s=25)k=8+4 (k=12)s=25+2*12 (s=49)k=12+4 (k=16)цикл прервался! т.к. 16 меньше 13
теперь мы выводим сумму s и k
49+16=65