<em>// PascalABC.NET 3.2, сборка 1338 от 16.11.2016</em>
begin
var s:=ReadlnString('->');
var a:=s.ToCharArray.Select(c->c.ToDigit).Partition(i->i.IsOdd);
Writeln('Ср.арифм. нечетных: ',a[0].Average:0:4,
', ср.арифм. четных: ',a[1].Average:0:4)
end.
Пример:
-> 364063632
Ср.арифм. нечетных: 3.0000, ср.арифм. четных: 4.0000
<span>#include <stdio.h>
</span><span>#include "stdafx.h"</span>
<span>#include "iostream"</span>
<span>#include "conio.h"
</span><span>#include <span>"locale.h"
</span></span><span>using namespace std;
</span><span>int main()
</span>
{
<span>
int x;</span><span>
cin
>> x;</span><span>
int a = x;</span><span>
x
= (x & 0x55) << 1 | (x & 0xAA) >> 1;</span><span>
x = (x & 0x33) << 2 | (x & 0xCC) >> 2;</span><span>
x = (x & 0x0F) << 4 | (x
& 0xF0) >> 4;</span><span>
int<span>
s, k;</span></span><span>
k
= 1;</span><span>
s
= 0;</span><span>
while (x > 0)</span><span>
{</span><span>
s
+= k*(x % 2);</span><span>
k
*= 10;</span><span>
x
/= 2;</span><span>
}</span><span>
int<span>
p, o;</span></span><span>
p
= 1;</span><span>
o
= 0;</span><span>
while (a > 0)</span><span>
{</span><span>
o
+= p*(a % 2);</span><span>
p
*= 10;</span><span>
a
/= 2;</span><span>
}</span><span>
cout
<< o;</span><span><span>
cout
<< </span>"\n" << s;</span><span>
getchar();</span><span>
getchar();</span><span>
return 0;</span><span>
}
</span>получает
случайное целое типа int<span>, выводит его двоичное представление на экран, </span>
Изменить порядок
следования битов в числе на обратный
Var
hh, mm, hp, mp: integer;
begin
readln(hh, mm, hp, mp);
hh := hp * 60 + hh * 60 + mm + mp;
writeln(hh div 60 mod 24, ':', hh mod 60);
end.