Составить программу для подсчета количества "счастливых" шестизначных билетов, при исполнении которой работает не более 50000 арифметических команд. В чем ошибка? program upr4; var n,m,i:longint; a,b,c,e,f,k: integer; begin m:=0; for i:= 100000 to 999999 do begin k:= n mod 10; f:= (n div 10) mod 10; e:= (n div 100) mod 10; c:= (n div 1000) mod 10; b:= (n div 10000) mod 10; a:= (n div 100000) mod 10; if k+f+e=a+b+c then m:=m+1 else m:=m;end; writeln (m); end.
Ошибка в программе заключается в том, что переменная n не задана и не изменяется внутри цикла. Вместо этого в цикле используется переменная i. Нужно заменить n на i в строке, где вычисляются значения a, b, c, e, f, k:
k:= i mod 10; f:= (i div 10) mod 10; e:= (i div 100) mod 10; c:= (i div 1000) mod 10; b:= (i div 10000) mod 10; a:= (i div 100000) mod 10;
После этой замены программа будет корректно считать количество "счастливых" шестизначных билетов, не превышая 50000 арифметических команд.
Ошибка в программе заключается в том, что переменная n не задана и не изменяется внутри цикла. Вместо этого в цикле используется переменная i. Нужно заменить n на i в строке, где вычисляются значения a, b, c, e, f, k:
k:= i mod 10;f:= (i div 10) mod 10;
e:= (i div 100) mod 10;
c:= (i div 1000) mod 10;
b:= (i div 10000) mod 10;
a:= (i div 100000) mod 10;
После этой замены программа будет корректно считать количество "счастливых" шестизначных билетов, не превышая 50000 арифметических команд.