Чтобы решать такие задачки начинай решение с конца. К искомому числу пробуй применять обратные операции (Не *2 +3, а /2 -3). Какие=то будут сразу отпадать, какие-то будут более выгодными на данном шаге.
Попробуй Program PascalGuru; var s:string; f,t:text; function preobr(s:string):string;var i,j,p,n,sered:integer; gl,zp,slovo:string; m:array [1..80] of string;beginzp:='!?*,.'; gl:='аоуыэяеёюи'; p:=pos(' ',s); i:=0; repeat inc(i); slovo:=copy(s,1,p-1); m[i]:=slovo; delete(s,1,p); p:=pos(' ',s); until p=0; n:=i+1; m[n]:=s; for i:=1 to n do begin s:=m[i]; if pos(s[length(s)],zp)<>0 then p:=length(s)-1 else p:=length(s); sered:=(p div 2)+1; if (not odd(p)) or (p<3) then continue; if pos(s[1],gl)=0 then continue; if pos(s[sered],gl)=0 then continue; if pos(s[p],gl)=0 then continue; s[1]:=UpCase(s[1]); s[sered]:=UpCase(s[sered]); s[p]:=UpCase(s[p]); m[i]:=s+'('+s[1]+','+s[sered]+','+s[p]+')'; end; s:=''; for i:=1 to n do s:=s+m[i]+' '; preobr:=s;end; beginassign(f,'input.txt'); reset(f);assign(t,'output.txt'); rewrite(t); while not eof(f) do begin readln(f,s); writeln(t, preobr(s) ); end; writeln('Файл успешно записан...'); close(f);close(t);readln;end.
yliana
29.01.2020
While (tnum != 0) //tnum, tden - числитель и знаменатель искомой дроби { if (tnum < tden) { temp = tnum; tnum = tden; tden = temp; } tnum = tnum - tden; } gcd = tden; //вычисляем наибольший общий делитель numerator = numerator / gcd; //делим числитель и знаменатель на НОД, получаем сокращенную дробь denominator = denominator / gcd;
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Как из числа 3 получить 54 и 75? ! команды умножить на 2 и прибавить 3 покажу как это сделать с умножить на 2 и прибавить 1 вобщем хоиь что то, !
1. 3 * 2 = 6
2. 6 * 2 = 12
3. 12 * 2 = 24
4. 24 + 3 = 27
5. 27 * 2 = 54
1. 3 + 3 = 6
2. 6 + 3 = 9
3. 9 * 2 = 18
4. 18 * 2 = 36
5. 36 * 2 = 72
6. 72 + 3 = 75