Alisa1639
?>

Напишите программу, которая заполняет массив первыми N натуральными числами в обратном порядке (начиная с последнего) и выводит его. Входные данные Входная строка содержит размер массива N . Гарантируется, что 0 < N ≤ 10000 . Выходные данные Программа должна вывести содержимое массива: N последовательных натуральных чисел от N до 1 в обратном порядке. пример входные данные 5 выходные данные 5 4 3 2 1​

Информатика

Ответы

superkiosk249

#include <iostream>

#include <cmath>

#include <algorithm>

#pragma GCC optimize("Ofast")

#define ll long long

#define ld long double

using namespace std;

signed main() {

  ll n;

  cin >> n;

  while(n--)

      cout << n+1 << " ";

}

николаевич-Елена988
Шаг №1  
             S = 42 - 5 = 37
              n = 1 + 3 = 4
Шаг №2
              S = 37 - 5 = 32
               n = 4 + 3 = 7                
Шаг №3
              S = 32 - 5 = 27
               n = 7 + 3 = 10
Шаг №4
              S = 27 - 5 = 22
               n = 10 + 3 = 13
Шаг №5
              S = 22 - 5 = 17
              n = 13 + 3 = 16
Шаг №6
              S = 17 - 5 = 12 
              n = 16 + 3 = 19
Шаг №7
              S = 12 - 5 = 7
               n = 19 + 3 = 21
Шаг №8
              S = 7 - 5 = 2
               n = 21 + 3 = 24

А вот КОРОТКОЕ решение:
     42 / 5 = 8 + 2/5
     n = 8*3  = 24
Ионов202
Для начала задачу нужно решить чисто математически, решения приведены на листочках. 
Поскольку задача школьная, то вариант совпадения точек не рассматривается
Алгоритмического языка не знаю, но поскольку это вариант псевдокода, то думаю алгоритм вполне понятен

алг Круг_по_двум_точкам_и_радиусу(арг действ Ax, арг действ Ay, арг действ Bx, арг действ By, арг действ r)
   дано | A,B,r
   надо | нарисовать окружность
нач
    ввод Ax, Ay, Bx, By, r

    действ dAB = ((Ax - Bx)^2 + (Ay - By)^2)^(0.5) // длина АВ
    действ h = (r^2-dAB^2/4)^(0.5) // высота и длина вектора ОМ

    // М середина АВ
    действ Mx = (Ax + Bx) / 2 
    действ My = (Ay + By) / 2

    //первый круг
    действ Ox = Mx + (Ay - By) * h/dAB
    действ Oy = My - (Ax - Bx) * h/dAB
    нарисовать_круг(Ox, Oy, r)

    //второй круг
    Ox = Mx - (Ay - By) * h/dAB
    Oy = My + (Ax - Bx) * h/dAB
    нарисовать_круг(Ox, Oy, r)
кон

//PascalABC.NET версия 3.3.1590 от 03.12.2017
//Если программа не запускается, то обновите версию

uses GraphABC;
const
    zoom = 100;

var
    Ax, Ay, Bx, By, r: real;

begin
    readln(Ax, Ay, Bx, By, r);
   
    var dAB := sqrt(sqr(Ax - Bx) + sqr(Ay - By)); // длина АВ
    var h := sqrt(r * r - dAB * dAB / 4); // высота и длина вектора ОМ
   
    // М середина АВ
    var Mx := (Ax + Bx) / 2;
    var My := (Ay + By) / 2;
   
    //первый круг
    var Ox := Mx + (By - Ay) * h / dAB;
    var Oy := My - (Bx - Ax) * h / dAB;
    DrawCircle(round(Ox * zoom), round(Oy * zoom), round(r * zoom));
   
    //второй круг
    Ox := Mx - (By - Ay) * h / dAB;
    Oy := My + (Bx - Ax) * h / dAB;
    DrawCircle(round(Ox * zoom), round(Oy * zoom), round(r * zoom));
end.


Записать алгоритм записать алгоритм запишите на алгоритмическом языке алгоритм построения окружности
Записать алгоритм записать алгоритм запишите на алгоритмическом языке алгоритм построения окружности

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Напишите программу, которая заполняет массив первыми N натуральными числами в обратном порядке (начиная с последнего) и выводит его. Входные данные Входная строка содержит размер массива N . Гарантируется, что 0 < N ≤ 10000 . Выходные данные Программа должна вывести содержимое массива: N последовательных натуральных чисел от N до 1 в обратном порядке. пример входные данные 5 выходные данные 5 4 3 2 1​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

Грудинин604
tanias
Dragun1684
Бочкова_Елена203
ИП_Рамис873
alekseev13602
Качкова1820
fshevxuzheva313
dmitrij-sp7
kuz-vlad21
marketing
vardartem876
abuzik
lionmost6979
sadkofamily61