Annabill1987
?>

#include #include #include #include #define NN 1000000#define eps 1e-7int n;double C;double a[NN], p[NN];int h[NN];int s, t, i, j;double l, r;doubleget_h (void){ assert (s < t); return a[h[s]];}intpop_h (void){ assert (s < t); return h[s++];}voidpush_h (int x){ while (s < t && a[h[t - 1]] < a[x]) t--; h[t++] = x;}intmain (int argc, char *argv[]){ double ev, ev1, ev2; int x; scanf ("%d%lf", &n, &C); for (i = 0; i < n - 1; i++) scanf ("%lf", &a[i]); for (i = 0; i < n; i++) p[i] = 0; s = 0; t = 0; i = 0; j = 1; l = C; r = 0; push_h (0);// printf('\n'); while (j < n && i < j && l > a[j - 1] + eps) { ev1 = (l - r) * (j - i) / (j - i + 1); if (s < t) { ev2 = (l - get_h ()) * (j - i); ev = (ev1 < ev2) ? ev1 : ev2; } else ev = ev1; l -= ev / (j - i); r += ev; assert (l + eps > r); if (fabs (l - r) < eps) { push_h (j); j++; r = 0; } if (fabs (l - get_h ()) < eps) { x = pop_h (); for (; i <= x; i++){ p[i] = l; } i = x + 1; } if ((i == j) || (l < a[j - 1] + eps)) { for (; i < j; i++){ p[i] = l; } l = r; r = 0; i = j; push_h (j); j++; } } for (; i < j; i++){ p[i] = l; } for (i = 0; i < n; i++) printf ("%0.20lf\n", p[i]); return 0;}

Информатика

Ответы

levickaalubov5

1)Алгоритм будет линейным если каждый из его шагов будет выполнятся поочередно. 2)Этапы: постановка задачи;   построение модели; разработка алгоритма;  проверка правильности алгоритма;  реализация алгоритма;  анализ алгоритма и его сложности;  написание программы на подходящем языке;  отладка программы;  составление документации . 3) Самые значимый: каждый из этапов по-своему значим, поэтому пропустить никакой нельзя. 4) Обычно линейные алгоритмы выводят через блок-схемы, где и указывается итог всей операции.

Объяснение:

gorsimonyan4
1)
#include <iostream>
using namespace std;
void draw_square(int n)
{
    for(int y = 0; y < n; y++)
    {
        for (int x = 0; x < n; x++)
            cout << "*";
        cout << endl;
   }
}
int main()
{
  int n;
  cin >> n;
  draw_square(n);
  return 0;
}

2)
#include <iostream>
using namespace std;
void drawNumbers(int a)
{
   while(a > 0)
   {
      cout << a%10 << endl;
      a /= 10;
   }
}
int main()
{
    int a;
    cin >> a;
    drawNumbers(a);
    return 0;
}

3)
#include <iostream>
using namespace std;
int main()
{
    //можно гораздо быстрей, но мне лень
    int a;
    cin >> a;
    for(int i = 1; i <= a; i++) if(a%i==0) cout << i << " ";
    return 0;
}

4)
#include <iostream>
using namespace std;
void procedure(int a)
{   
     int b = a;   
     int c = 1;   
     while(b > 0)  {c *= 10; b/=10;}   
     while(c > 1)   
     {       
          cout << (a%c)/(c/10) << endl;       
          c /= 10;   
     }
}
int main()

    int a; 
    cin >> a; 
    procedure(a); 
    return 0;
}

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

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

#include #include #include #include #define NN 1000000#define eps 1e-7int n;double C;double a[NN], p[NN];int h[NN];int s, t, i, j;double l, r;doubleget_h (void){ assert (s < t); return a[h[s]];}intpop_h (void){ assert (s < t); return h[s++];}voidpush_h (int x){ while (s < t && a[h[t - 1]] < a[x]) t--; h[t++] = x;}intmain (int argc, char *argv[]){ double ev, ev1, ev2; int x; scanf ("%d%lf", &n, &C); for (i = 0; i < n - 1; i++) scanf ("%lf", &a[i]); for (i = 0; i < n; i++) p[i] = 0; s = 0; t = 0; i = 0; j = 1; l = C; r = 0; push_h (0);// printf('\n'); while (j < n && i < j && l > a[j - 1] + eps) { ev1 = (l - r) * (j - i) / (j - i + 1); if (s < t) { ev2 = (l - get_h ()) * (j - i); ev = (ev1 < ev2) ? ev1 : ev2; } else ev = ev1; l -= ev / (j - i); r += ev; assert (l + eps > r); if (fabs (l - r) < eps) { push_h (j); j++; r = 0; } if (fabs (l - get_h ()) < eps) { x = pop_h (); for (; i <= x; i++){ p[i] = l; } i = x + 1; } if ((i == j) || (l < a[j - 1] + eps)) { for (; i < j; i++){ p[i] = l; } l = r; r = 0; i = j; push_h (j); j++; } } for (; i < j; i++){ p[i] = l; } for (i = 0; i < n; i++) printf ("%0.20lf\n", p[i]); return 0;}
Ваше имя (никнейм)*
Email*
Комментарий*

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

КузменковаЖигулин
Постройте бегущих человечков в world.
antilopa001
bryzgalovag
krikriska84
Polina780
maria
Ryadovboxing23
Оксана170
info2990
blagorodovaanna375
tatasi
samsludmila
Коваль1974
vladusha47713
Logukate