В
Все
М
Математика
О
ОБЖ
У
Українська мова
Д
Другие предметы
Х
Химия
М
Музыка
Н
Немецкий язык
Б
Беларуская мова
Э
Экономика
Ф
Физика
Б
Биология
О
Окружающий мир
Р
Русский язык
У
Українська література
Ф
Французский язык
П
Психология
А
Алгебра
О
Обществознание
М
МХК
В
Видео-ответы
Г
География
П
Право
Г
Геометрия
А
Английский язык
И
Информатика
Қ
Қазақ тiлi
Л
Литература
И
История
olezhkash228
olezhkash228
28.03.2023 04:12 •  Информатика

с Инфой Циклы со счетчиком. 10 кл
Составить программу вычисления суммы: 1/(1*3) +1/(2*4)+1/(3*5)+…

Показать ответ
Ответ:
AdelkaTiVi
AdelkaTiVi
01.10.2021 18:17
{
Если что, часть программы не нужна для построения цепочки. Она просто иллюстрирует, что полученный результат верен.
}

var
 sq : array[0..999] of array[0..9] of boolean;
 co : array[0..999] of integer;
 ar : array[1..10003] of 0..9;
  i,j: integer;
 x: integer;
 t : boolean;
 begin
 for i := 0 to 999 do
   begin
   for j := 0 to 9 do
   sq[i][j] := false;
   co[i] := 0;
   end;
 for i := 1 to 3 do
   ar[i] := 0;
 i := 3;
 t := true;
 {write('000');}
 while t do
   begin
   i := i + 1;
   x := ar[i-3]*100 + ar[i-2]*10 + ar[i-1];
   if co[x] >= 10 then t := false
     else
     begin
     j := 1;
     while sq[x][j] do 
       j := (j + 1) mod 10;
     ar[i] := j;
     sq[x][j] := true;
     co[x] := co[x] + 1;
     {write(j)}
     end;
   end;
 {writeln;}
 writeln('Length: ',i - 1);

 {просто чтобы убедиться}
 for i := 0 to 999 do
   for j := 0 to 9 do
   sq[i][j] := false;

  t := true;
 j := 0;
 i := 1;
 while (i <= 10000) and t do
   begin
   x := ar[i] * 100 + ar[i+1] * 10 + ar[i+2];
   if sq[x][ar[i+3]] then t := false
     else
     begin
     sq[x][ar[i+3]] := true;
     j := j + 1;
     end;
   i := i + 1
   end;
 if t and (j = 10000) then
   write('Confirmed')
end.
0,0(0 оценок)
Ответ:
fox2457667
fox2457667
03.09.2021 18:06
Не совсем понятно условие, но вот возможное решение в C++
#include <iostream>
#include <iomanip>
#include <ctime>
int main()
{
    using namespace std;

    cout << "Enter N: ";
    int N;
    cin >> N;

    int * A = new int[N];
    srand(time(0));
    for (int i = 0; i < N; ++i)
        A[i] = rand() % N + 1;

    for (int i = 0; i < N; ++i)
        cout << setw(4) << A[i];

    cout << "\nEnter K: ";
    int K;
    cin >> K;

    int SIZE = 0;
    for (int i = 0; i < N; ++i)
        if (A[i] <= K)
            ++SIZE;

    if (SIZE > 0)
    {
        int * A1 = new int[SIZE];
        int i1 = 0;
        for (int i = 0; i < N; ++i)
            if (A[i] <= K)
            {
                A1[i1] = A[i];
                ++i1;
            }
        for (int i1 = 0; i1 < SIZE; ++i1)
            cout << setw(4) << A1[i1];
        delete[] A1;
    }
    else
        cout << "No elements" << endl;
    delete[] A;
    cout << endl;
    return 0;
}
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота