какие дроби? сдесь только целочисленное деление.
просто потому что число 7 и меньше нельзя разложить на сумму чисел 3 и 5.
все программы слишком страшные эх. \o
Добавлено (2011-11-10, 2:56 Am)
---------------------------------------------
Code
program Project3;
var i,n:longint;
begin
n:=0;
for i:=0 to 999999 do
if (i mod 10)+((i div 10)mod 10)+((i div 100)mod 10) =
((i div 1000)mod 10)+((i div 10000)mod 10)+(i div 100000)
then inc(n);
writeln(n);
end.
программо со счастливыми билетами должна выглядеть как то так. 4к билетов счастливых ведь пропустил.
Добавлено (2011-11-10, 3:28 Am)
---------------------------------------------
последнее задание что у вас написано ОУЖАС.
Code
var mas: array [1..100] of integer;
i,n,pos,z,ch: integer;
begin
write ('Ââåäèòå êîë-âî ýëåìåíòîâ ìàññèâà '); readln (n);
Randomize;
for i:=1 to n do begin
mas [i]:=random (50);
write (mas[i]:4);
end;
writeln;
write ('vvedi 4islo '); readln (ch);
for i:=1 to n do
if mas[i]=ch then begin
writeln ('4islo v massive est.');
i:=0;
break; end;
pos:=1;
z:=abs(mas[1]+ch);
if (i<>0) then begin
writeln ('4isla net');
for i:=1 to n do
if(abs(mas[i]-ch)<z)and(mas[i]>ch) then begin
z:=abs(mas[i]-ch);
pos:=i;
end;
writeln('blizhayshee 4islo z=', mas[pos]);
end;
end.
это уже лучше. но не скажу что супер оптимизировано. и еще. в задании не указано что делать если числа нету и в большую сторону округлить невозможно ибо больших чисел нету тоже. сейчас в таком случае выводит первый элемент массива. если захочешь сделать чтоб просто выбирало ближайшее то убери дополнительное условие после AND