~n/3 достаточно.
Бросаем первый с этажа номер n/3. Если разбился, то бросаем второй по очереди с 1 этажа, потом со 2, ... до n/3 пока не разобьется. Так найдем этаж.
Если первый шар не разбился. бросаем его с этажа 2n/3. Если тут разбился, то бросаем второй с этажа n/3+1, потом с n/3+2, ... пока не разобьется.
Если 1 шар при падении с 2n/3 не разбился, то бросаем его с 2n/3+1, потом с 2n/3+2, ... пока не разобьется.
var
f: integer;
begin
write('Сколько дней: ');
readln(f);
writeln('Полных недель: ', f div 7);
writeln('Полных месяцев (берем месяц 30 дней): ', f div 30);
end.
Объёмная мощность составлющая 250 кбайта
но я не уверена
<span>N=2014
DIM A(N) AS INTEGER
DIM I, J, K AS INTEGER
FOR I = 1 TO N
INPUT A(I)
NEXT I
k = 0
if A(1) > A(2) and (A(1) mod 5 <> 0) then k = k + A(1)
if A(N) > A(N-1) and (A(N) mod 5 <> 0) then k = k + A(N)
for i = 2 to N-1
if (A(i) > A(i+1)) and (A(i) > A(i-1)) and (A(i) mod 5 <> 0) then k = k + A(1)
next i
print k
Именно бейсика у меня нет, так что писалось на VBS а потом добавлялись символы как думаю было бы правильно</span>
1100111111=1*2^9+1*2^8+0*2^7+0*2^6+1*2^5+1*2^4+1*2^3+1*2^2+1*2^1+1*2^0=512+256+0+0+32+16+8+4+2+1=831
111111111=1*2^8+1*2^7+1*2^6+1*2^5+1*2^4+1*2^3+1*2^2+1*2^1+1*2^0=511
1100011111=1*2^9+1*2^8+0*2^7+0*2^6+0*2^5+1*2^4+1*2^3+1*2^2+1*2^1+1*2^0=799
В двоичную: (делим на 2каждое число до 1 или 0)
1) 4321=1000011100001
-4320 2160 2
<em>1</em> -2160 1080 2
0 -1080 540 2
0 -540 270 2
0 -270 135 2
0 -134 67 2
1 -66 33 2
1 -32 16 2
1 -16 8 2
0 -8 4 2
0 -4 2 2
0 -2 1
0
Теперь собираем от последнего остатка до первого выделенные цифры.
2) 3333=110100000101
3) 7372 =1110011001100