Приглащаю к общению всех коллег, которые решают задачи по программированию и из вариантов ЕГЭ. Создав эту ветку хотелось бы тем самым создать площадку для обсуждения и совместного решения конкретных задач, организовать помощь и взаимовыручку друг другу. Обменяться ссылками на ресурсы, которые могут помочь по данному вопросу.
Для разминки предлагаю и выношу на обсуждение следующую задачу:
Написать программу, которая выводит номера всех счастливых шестизначных билетов, у которых сумма первых трех цифр совпадает с суммой последующих трех цифр.
Мои ученики, решают эту задачу двумя способами:
1. способ не рациональный и программа работает долго.
program Shbil;
var x,y,z,a,b,c,sh:longint;
begin
for x:=1 to 9 do
for y:=0 to 9 do
for z:=0 to 9 do
for a:=0 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
If x+y+z=a+b+c then begin
sh:=x*100000+y*10000+z*1000+a*100+b*10+c;
writeln (sh:10);
end;
readln;
end.
2 способ - более рациональный и работает быстрее
program shbil1;
var n:longint; x,y,z,a,b,c:byte;
begin
for n:=100000 to 999999 do
begin
x:=n div 100000;
y:=(n div 10000)mod 10;
z:=(n div 1000) mod 10;
a:= (n div 100) mod 10;
b:=(n div 10) mod 10;
c:=n mod 10;
if x+y+z=a+b+c then write (n:8);
end;
readln;
end.
Приглащаю к общению всех коллег, которые решают задачи по программированию и из вариантов ЕГЭ. Создав эту ветку хотелось бы тем самым создать площадку для обсуждения и совместного решения конкретных задач, организовать помощь и взаимовыручку друг другу. Обменяться ссылками на ресурсы, которые могут помочь по данному вопросу.
Для разминки предлагаю и выношу на обсуждение следующую задачу:
Написать программу, которая выводит номера всех счастливых шестизначных билетов, у которых сумма первых трех цифр совпадает с суммой последующих трех цифр.
Мои ученики, решают эту задачу двумя способами:
1. способ не рациональный и программа работает долго.
program Shbil;
var x,y,z,a,b,c,sh:longint;
begin
for x:=1 to 9 do
for y:=0 to 9 do
for z:=0 to 9 do
for a:=0 to 9 do
for b:=0 to 9 do
for c:=0 to 9 do
If x+y+z=a+b+c then begin
sh:=x*100000+y*10000+z*1000+a*100+b*10+c;
writeln (sh:10);
end;
readln;
end.
2 способ - более рациональный и работает быстрее
program shbil1;
var n:longint; x,y,z,a,b,c:byte;
begin
for n:=100000 to 999999 do
begin
x:=n div 100000;
y:=(n div 10000)mod 10;
z:=(n div 1000) mod 10;
a:= (n div 100) mod 10;
b:=(n div 10) mod 10;
c:=n mod 10;
if x+y+z=a+b+c then write (n:8);
end;
readln;
end.
У кого есть еще варианты, просьба поделиться