1.) Цвет не соответствует фамилии, значит
На Беловой черное или красное
На Красновой белое или чёрное
На Черновой белое или красное
2.) "Девочка в белом платье говорит Черновой" значит, что Чернова не в белом. Чернова в красном.
3.) Белова не может быть в красном, потому что в нём Чернова. Белова в черном.
4.) Красновой остаётся белое.
Чернова - красное, Белова - черное, Краснова - белое
Решение, что называется, "в лоб" (далеко, очень далеко, не самое лучшее):
var s,k1,k5,k10,k50,k100,k500,k1000,k10000:integer;
begin
write('s = '); readln(s);
k1:=0; k5:=0; k10:=0; k50:=0;
k100:=0; k500:=0; k1000:=0; k10000:=0;
while s>=10000 do begin s:=s-10000; k10000:=k10000+1; end;
while s>=1000 do begin s:=s-1000; k1000:=k1000+1; end;
while s>=500 do begin s:=s-500; k500:=k500+1; end;
while s>=100 do begin s:=s-100; k100:=k100+1; end;
while s>=50 do begin s:=s-50; k50:=k50+1; end;
while s>=10 do begin s:=s-10; k10:=k10+1; end;
while s>=5 do begin s:=s-5; k5:=k5+1; end;
while s>=1 do begin s:=s-1; k1:=k1+1; end;
writeln('k10000=',k10000,' k1000=',k1000,' k500=',k500,' k100=',k100,' k50=',k50,' k10=',k10,' k5=',k5,' k1=',k1);
writeln(' Всего купюр = ',k1+k5+k10+k50+k100+k500+k1000+k10000);
end.
Пример:
s = 27879
k10000=2 k1000=7 k500=1 k100=3 k50=1 k10=2 k5=1 k1=4
Всего купюр = 21
===== PascalABC.NET =====
procedure ЛевыйСдвигK(var a: array of integer; k: integer);
begin
var m := a.Length;
k := k mod m;
if k > 0 then
a := a[k:] + a[:k]
end;
procedure ПравыйСдвигK(var a: array of integer; k: integer);
begin
var m := a.Length;
k := k mod m;
if k > 0 then
a := a[m - k:] + a[:m - k]
end;
procedure ЛевыйСдвиг(var a: array of integer) :=
a := a[1:] + a[0:1];
procedure ПравыйСдвиг(var a: array of integer);
begin
var m := a.Length - 1;
a := a[m:] + a[:m];
end;
begin
// тест
var a := ArrRandom(8, 10, 99);
a.Println;
ЛевыйСдвиг(a);
a.Println;
ПравыйСдвиг(a);
a.Println;
ЛевыйСдвигK(a, 3);
a.Println;
ПравыйСдвигK(a, 3);
a.Println;
end.
Program Program1;
var
V:Real;
Begin
ReadLn(V);
V:=V*3.6;
WriteLn(V);
End.