#Код программы на Ruby22 t=[] primes = NumberHelpers::getPrimeNumbers(6288, nil) primes.each do |pr| t << pr if pr >= 5232 and NumberHelpers::GetNumbersSum(pr) % 2 == 0 end p t p t.size
def getPrimeNumbers(max, primes) primes = [2] if primes == nil
for i in (primes.last+1)..max f = false primes.each do |pn| f = (f or (i % pn==0)) end primes<<i if not f end p primes.last return primes end
def GetNumbersSum(n) n = n.to_s.chars sum = 0 n.each do |c| sum += c.to_i() end
Запись (record) — это пользовательский тип данных, котоорый может содержать поля с различными типами данных, например:
type schools = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) students = record name, surname : string; age : byte; school : schools; end;
Для обращения к полям записи из главной программы необходимо разделять имя переменной типа Запись и поля, которое оно содержит, символом "." (точка). Например:
var student : students;
begin student.name := 'Иван'; student.surname := 'Пупкин'; end.
Если необходимо получить или изменить значения нескольких полей записи, то удобнее использовать конструкцию with:
begin with student do begin name := 'Вася'; surname := 'Пупкин'; age := 12; school := 5; end; end.
273/2=136(1)
136/2=68(0)
68/2=34(0)
34/2=17(0)
17/2=8(1)
8/2=4(0)
4/2=2(0)
2/2=(1)
100010001
в 8:
273/8=34(1)
34/8=4(2)
4/8=(4)
421
в 16:
273/16=17(1)
17/16=1(1)
111
б) в 2:
661/2=330(1)
330/2=165(0)
165/2=82(1)
82/2=41(0)
41/2=20(1)
20/2=10(0)
10/2=5(0)
5/2=2(1)
2/2=1(0)
1/2=(1)
1010010101
в 8:
661/8=82(5)
82/8=10(2)
10/8=1(2)
1/8=(1)
1225
в 16:
661/16=41(5)
41/16=2(9)
2/16=(2)
295
в) в 2:
156/2=78(0)
78/2=39(0)
39/2=19(1)
19/2=9(1)
9/2=4(1)
4/2=2(0)
2/2=1(0)
1/2=(1)
2*0,25=0,5 (0)
2*0,5=1 (1)
10011100,01
в 8:
156/8=19(4)
19/8=2(3)
2/8=(2)
0,25*8=2 (2)
234,2
в 16:
156/16=9(12)
9/16=(9)
0,25*16=4 (4)
9C,4
г) в 2:
797/2=398(1)
398/2=199(0)
199/2=99(1)
99/2=49(1)
49/2=24(1)
24/2=12(0)
12/2=6(0)
6/2=3(0)
3/2=1(1)
1/2=(1)
0,5*2=1 (1)
1100011101,1
в 8:
797/8=99(5)
99/8=12(3)
12/8=1(4)
1/8=(1)
0,5*8=4 (4)
1435,4
в 16:
797/16=49(13)
49/16=3(1)
3/16=(3)
16*0,5=8 (8)
31D,8