М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
PokerFresh
PokerFresh
20.10.2022 09:00 •  Информатика

нужно программу на с++ перевести var rem : array[0..11] of integer;
N, i, x : integer;
m : longint;
begin
for i := 0 to 11 do
rem[i] := 0;
readln(N);
for i := 1 to N do begin
readln(x);
inc(rem[x mod 12])
end;
m := (rem[0] * (rem[0] - 1) + rem[6] * (rem[6] - 1)) div 2;
for i := 1 to 5 do
m := m + rem[i] * rem[12 - i];
writeln(m)
end.
Дан набор из
N
натуральных чисел. Необходимо определить количество пар элементов
(
a
i
,
a
j
)
этого набора, в которых
1

i
<
j

N
и сумма элементов кратна 12.

Напишите эффективную по времени и по памяти программу для решения этой задачи. Программа считается эффективной по времени, если при увеличении количества исходных чисел
N
в
k
раз время работы программы увеличивается не более чем в
k
раз. Программа считается эффективной по памяти, если память, необходимая для хранения переменных программы, не превышает одного килобайта и не увеличивается с ростом
N
.

Описание входных и выходных данных

В первой строке входных данных задаётся количество чисел
N
(
1

N

10000
). В каждой из последующих
N
строк записано одно натуральное число, не превышающее 1000.

Пример входных данных:

5
7
5
6
12
24
Пример выходных данных для приведённого выше примера входных данных:

2
В приведённом наборе из 5 чисел имеются две пары
(
5
,
7
)
,
(
12
,
24
)
, сумма элементов которых кратна 12.

👇
Ответ:
cerf1709
cerf1709
20.10.2022

#include <iostream>

using namespace std;

int main() {

int rem[12];

int N, i, x;

unsigned __int64 m;

for (i = 0; i < 12; i++) {

 cin >> x;

 rem[x % 12]++;

}

m = (rem[0] * (rem[0] - 1) + rem[6] * (rem[6] - 1)) / 2;

for (i = 1; i <= 5; i++) {

 m = m + rem[i] * rem[12 - i];

}

cout << m;

return 0;

}

4,7(86 оценок)
Открыть все ответы
Ответ:
Цоніма
Цоніма
20.10.2022
// PascalABC.NET 3.4.2, сборка 1797 от 22.09.2018// Внимание! Если программа не работает, обновите версию!

function CycleFraction(a, b: integer): string;

begin

 Result := (a div b).ToString;

 a := a mod b;

 if a = 0 then exit;

 Result += ','; // разделитель

 var k := Result.Length + 1;

 var ost := new SortedList<integer, integer>;

 ost.Add(a, k);

 while True do

 begin

   a *= 10;

   Result += (a div b).ToString;

   a := a mod b;

   if ost.ContainsKey(a) then

   begin

     var p := ost.Get(a);

     Result := Result?[:p] + (a <> 0 ? '(' + Result?[p:] + ')' : ''.ToString);

     exit

   end

   else

   begin

     k += 1;

     ost.Add(a, k);

   end

 end

end;


begin

 var (a, b) := ReadInteger2('Введите числитель и знаменатель:');

 CycleFraction(a, b).Println;

end.


Впаскале даны два натуральных числа a и b. вывести a/b в виде периодической дроби. например: 1/3=0,(
4,6(24 оценок)
Ответ:
киса5558
киса5558
20.10.2022

program FibonachiNums;

function FibN(n: integer): BigInteger;

begin

 var (f1, f2) := (BigInteger(1), BigInteger(1));

 for var i := 3 to n do

   (f1, f2) := (f2, f1 + f2);

 result := f2;

end;

function FibSumN(n: integer): BigInteger;

begin

 var (f1, f2) := (BigInteger(1), BigInteger(1));

 var Sum: BigInteger;

 

 if n = 0 then Sum := 0

 else Sum := 1;

 

 for var i := 2 to n do

 begin

   (f1, f2) := (f2, f1 + f2);

   Sum += f1;

 end;

 

 result := Sum

end;

begin

 Println('десятое число Фибоначчи:',FibN(10));

 

 var n := 100;

 Writeln($'{n}-е число Фибоначчи: ',FibN(n));

 

 Println($'Сумма первых {n} чисел Фибоначчи:',FibSumN(n))

 

end.

4,4(98 оценок)
Это интересно:
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ