Показать сообщение отдельно
Старый 08.01.2014, 18:06   #10 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от Стася Посмотреть сообщение
75 таких)
А вот у меня получилось самую малость другое число: 5175. Решал "в лоб":
Код:
Var
 K,N,i:LongInt;
 Sum:Byte;
 B:boolean;

Procedure Lucky(KL:LongInt; var SL:byte; var Lu:boolean);
var
 A:Array[1..6] of byte;
 Q:LongInt;
 p,S1,S2:byte;
begin
 Q:=KL;
 for p:=6 downto 1 do
  begin
   A[p]:=Q mod 10;
   Q:=Q div 10;
  end;
 SL:=A[1]+A[2]+A[3];
 Lu:=(A[1]+A[2]+A[3])=(A[4]+A[5]+A[6]);
end;

Begin
 Repeat
  Write('Number = ');
  Readln(K);
  If (K<100000) or (K>999999) then Writeln('Number must contain 6 digits!');
 Until (K>99999) and (K<1000000);
 Lucky(K,Sum,B);
 Writeln(B);
 N:=0;
 for i:=100000 to 999999 do
  begin
   Lucky(i,Sum,B);
   if B and (Sum=13) then Inc(N);
  end;
 Writeln(N,' numbers');
 Readln
End.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070