Program parampampam; uses crt; var i: integer; {счетчик} s: integer; begin clrscr; {очистка экрана} writeln ('программа выводит числа от 1 до 99, сумма цифр которых равна числу s'); writeln ('введите число s, от 0 до 18: '); {ввод числа s с проверкой на корректность} repeat readln (s); if (s> 18) or (s< 0) then writeln ('неверный ввод. повторите') until (s< =18) and (s> =0); {вывод нужных чисел на экран (цикл с предусловием)} for i : = 1 to 99 do if ((i div 10) + (i mod 10) = s) then {div дает целую часть, mod - остаток от деления} write (i, ' '); repeat until keypressed; {пустой цикл для задержки экрана до нажатия клавиши} end.
msk-academ
23.10.2022
Вот пример вычисления факториала числа 200 const n=1000; {максимальное количество цифр в числе} type big=record v: array[1..n] of byte; {массив с цифрами числа} m: integer {количество цифр в числе} end; function str2big(s: string): big; {переводит строковое представление в big} var i,n,k,err: integer; r: big; begin n: =length(s); r.m: =n; for i: =1 to n do begin val(s[i],k,err); r.v[i]: =k end; str2big: =r end; function big2str(p: big): string; {переводит представление big в строковое} var i,n: integer; c,s: string; begin s: =''; n: =p.m; for i: =1 to n do begin str(p.v[i],c); s: =s+c end; big2str: =s end; function truncbig(a: big): big; {усекает незначащие нули} var i,p,n: integer; r: big; begin n: =a.m; p: =0; while (p< n) and (a.v[p+1]=0) do p: =p+1; for i: =1 to n-p do r.v[i]: =a.v[i+p]; r.m: =n-p; truncbig: =r end; function multbig(a,b: big): big; {возвращает произведение чисел типа big} var i,j,k,m,n,s: integer; r: big; begin m: =a.m; n: =b.m; for i: =m to m+n do r.v[i]: =0; r.m: =m+n; for j: =n downto 1 do begin if b.v[j]=0 then r.v[j+m+n-1]: =0 else begin k: =0; for i: =m downto 1 do begin s : =a.v[i]*b.v[j]+r.v[i + j]+k; r.v[i+j]: =s mod 10; k: =s div 10 end; r.v[j] : = k end end; multbig: =truncbig(r); end; var i: integer; s: string; bi,bs: big; begin bs: =str2big('1'); for i: =1 to 200 do begin str(i,s); bi: =str2big(s); bs: =multbig(bs,bi); end; s: =big2str(bs); writeln(s) end. результат 788657867364790503552363213932185062295135977687173263294742533244359449963403342920304284011984623904177212138919638830257642790242637105061926624952829931113462857270763317237396988943922445621451664240254033291864131227428294853277524242407573903240321257405579568660226031904170324062351700858796178922222789623703897374720000000000000000000000000000000000000000000000000
Yelfimova-andrei
23.10.2022
//dev-c++ 5.11 (c) #include < stdio.h> #include < stdlib.h> #include < malloc.h> int main(void) {int n,mark,count2=0,count5=0,res; printf("enter number of classes: "); scanf("%d",& n); printf("enter marks: \n"); for(int i=0; i< n; i++) {scanf("%d",& mark); if(mark==5) count5++; if(mark==2) count2++; } res=count2-count5; if (res< 0) res=0; if (count5==0) printf("impossible"); else printf("%d",res); return 0; } пример ввода: 3 5 2 2 пример вывода: 1
Ответить на вопрос
Поделитесь своими знаниями, ответьте на вопрос:
Составить программу на языке паскаль числа по возрастанию.