27 13 6 3 1 ДЕЛИМ 27 на 2 , в частном берем без целое число (=13)
1 1 0 1 1 <=== 27(10) =11011(2) пишем в обратном порядке
Делим 13 на 2, в частном берем целое без округления 6
Делим 6 на 2 (=3) и т.д.
11 5 2 1
1 1 0 1 11(10) = 1011(2)
2001 1000 500 250 125 64 32 16 8 4 2 1
1 0 0 0 1 0 0 0 0 0 0 1
2001(10) =100000010001(2)
89
берём 64 Это 2^6 степени
89-64=25 (1)
25-32 не надо (0)
25-16=9 (1)
9-8=1 (1)
1-4 не надо (0)
1-2 не надо (0)
1-1=0 (1)
Теперь считает единицы и нули сверху вниз
1011001
600
берём 512 это 2^9 степени
600-512=88(1)
88-256 не надо (0)
88-128 не надо (0)
88-64= 24 (1)
24-32 не надо (0)
24-16= 8 (1)
8-8=0(1)
0-4 не надо (0)
0-2 не надо (0)
0-1 не надо (0)
опять считаем 1001011000
2010 берём 1024 это 2^10 степени
2010-1024=986(1)
986-512= 474(1)
474-256=218(1)
218-128=90(1)
90-64=26(1)
26-32 не надо (0)
26-16=10(1)
10-8=2(1)
2-4 не надо (0)
2-2=0 (1)
0-1 не надо (0)
считаем
11111011010
считал в основном устно, мог ошибиться. Но главное, чтоб принцип был понятен
A = true =>( A || (B && !C) )= true
#include <iostream>
using namespace std;
int main()
{
int n,k,i;
int array[100];
cin >> n;
for(i=0; i<n; i++)
{
cin >> array[i];
}
cin >> k;
for(i=0; i<n; i++)
{
if (k == array[i]){ break;}
}
if (k==array[i]) cout << i+1;
else cout << 0;
system("pause");
return 0;
}
Ответ:
Ну, вот на Pascal написал. Вроде так...
var
Sum, I : integer;
Sum := 0;
I := 45;
While I >= M do
begin
Sum := Sum + I;
I := I - 3;
end;
Writeln(Sum);
end.
Объяснение: