Нужна ! с клавиатуры вводятся трёхзначные числа до тех пор,пока первая цифра не станет равна третьей.вывести на экран только те числа,где сумма цифр меньше десяти. паскаль abc
Var a,a2,b,c:integer; begin write('введите трёхзначное число ==> '); readln(a); a2:=a; while ((a div 100)<>(a mod 10)) do begin while (a2<>0) do begin b:=a2 mod 10; c:=c+b; a2:=a2 div 10; end; if c<10 then writeln('сумма цифр меньше 10 ==> ',a); c:=0; write('введите трёхзначное число ==> '); readln(a); end; end.
Из условия видно, что количество оценок, распределенных экзаменатором различное и вопрос задачи указывает на одну из всех возможных оценок, поэтому воспользуемся подходом к определению количества информации для неравновероятных событий, а именно формулой Шеннона.Обозначим i4 – количество информации в сообщении "Абитуриент Сидоров получил четверку", i4или3 – количество информации в сообщении "Абитуриент Иванов не сдал экзамен на отлично", I - информационный объем зрительного сообщения о полученной оценки абитуриентом Сидоровым, к – показатель определенной оценки, р3, р4, р5 – вероятности выставления троек, четверок и пятерок соответственно, р4или3 – вероятность выставления оценки не отлично, тогда i4 или 3=3 -log27 бита, i4 = 2 бита. Основные формулы:
Как ч понял сортировка по неубыванию это сортировка по возрастанию. То есть легкие элементы всплывают наверх, а тяжелые перемещаются вниз:
//Pascal const m = 1000 var arr: array[1..m] of integer; n,i, j, k: integer; begin readln(n); write ('Исходный массив: '); for i := 1 to n do begin readln(arr[i]); end; //сортировка методом пузырька for i := 1 to n-1 do for j := 1 to n-i do if arr[j] > arr[j+1] then begin k := arr[j]; arr[j] := arr[j+1]; arr[j+1] := k end;
write ('Отсортированный массив: '); for i := 1 to n do write (arr[i]:4); end.
Алгоритм сортировки на классическом языке программирования С
# define SWAP(A,B) {A=A^B;B=A^B;A=A^B;} void bubblesort(int A[], int n) { int i, j; for(i = n-1 ; i > 0 ; i--) { for(j = 0 ; j < i ; j++) { if( A[j] > A[j+1] ) SWAP(A[j],A[j+1]); } } }
begin
write('введите трёхзначное число ==> ');
readln(a);
a2:=a;
while ((a div 100)<>(a mod 10)) do begin
while (a2<>0) do begin
b:=a2 mod 10;
c:=c+b;
a2:=a2 div 10;
end;
if c<10 then writeln('сумма цифр меньше 10 ==> ',a);
c:=0;
write('введите трёхзначное число ==> ');
readln(a);
end;
end.