0 / 0 / 0
Регистрация: 13.07.2020
Сообщений: 1
1

Перевод на Питон

13.07.2020, 20:55. Показов 507. Ответов 3
Метки нет (Все метки)

Здравствуйте, есть код на с++. Нужно перевести его на питон. Помогите пожалуйста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <cassert>
 
#include <algorithm>
#include <functional>
#include <iostream>
#include <string>
#include <vector>
 
using namespace std;
 
#define IS(A, L, R) assert((L) <= (A) && (A) <= (R))
 
#define forn(i, n) for (int i = 0; i < (int)(n); i++)
 
typedef long double dbl;
typedef long long ll;
 
#define maxn (int)1e5
#define maxn1 (maxn + 3)
 
int N, C, H[maxn1];
int sp, ss[maxn1], next[maxn1];
dbl r[maxn1];
 
int main()
{
  freopen("d.in", "r", stdin);
  freopen("d.out", "w", stdout);
 
  scanf("%d%d", &N, &C);
  IS(N, 1, maxn);
  IS(C, 0, (int)2e9);
  H[0] = 0;
  forn(i, N - 1)
  {
    scanf("%d", &H[i + 1]);
    IS(H[i + 1], 0, (int)2e9);
  }
  H[N] = C + 1;
 
  sp = 0;
  forn(i, N + 1)
  {
    while (sp && H[ss[sp - 1]] < H[i])
      next[ss[--sp]] = i;
    ss[sp++] = i;
  }
 
  int st = 0, i = 0, c = C;
  memset(r, 0, sizeof(r));
  while (c > 0)      
  {
    int j = next[i];
    if ((ll)(j - st) * H[j] < c)
      i = j;
    else if ((ll)(j - st) * H[i] < c)
    {
      dbl h = (dbl)c / (j - st);
      while (st < j)
        r[st++] = h;
      break;
    }
    else
    {
      while (st < i)
        r[st++] = H[i], c -= H[i];
      H[i] = 0, next[i] = i + 1;
    }
  }
  forn(i, N)
    printf("%.20lf\n", (double)r[i]);
  return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.07.2020, 20:55
Ответы с готовыми решениями:

Перевод из паскаля в питон
var n: integer; count: integer; procedure R(n1: integer; start: integer; p: string); var...

Перевод с Паскаля на Питон
program gg; var s: string; i, j, n:integer; was: boolean; begin readln(s); n:=0; for i:=1...

Перевод кода из паскаля в питон
Привет всем. Кто может помочь перевести два кода из паскаля в питон? k,a: byte; s,p: longint; ...

Перевод кода с Паскаля на Питон
const N = 10; type MyShortInt = 0..254; var i, j, k : integer; A : array of ShortInt; s...

3
Йуный падаван
Эксперт PythonЭксперт Java
12258 / 6992 / 2257
Регистрация: 21.10.2017
Сообщений: 17,780
13.07.2020, 22:00 2
filat, 日本語でのテキストがあります。 ロシア語に翻訳する。 ヒントは明確ですか?
1
Заклинатель змей
610 / 507 / 213
Регистрация: 30.04.2016
Сообщений: 2,413
13.07.2020, 23:41 3
filat, особенно макросы и STL
0
Просто Лис
Эксперт Python
4557 / 2946 / 948
Регистрация: 17.05.2012
Сообщений: 8,597
Записей в блоге: 9
14.07.2020, 07:19 4
Python
1
2
3
4
5
6
h = [0]
with open('d.in') as f:
    n, c = map(int, f.readline().split())
    for _ in range(n - 1):
        h.append(int(readline()))
h.append(c + 1)
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
14.07.2020, 07:19
Помогаю со студенческими работами здесь

перевод с С++на питон
вот код нужно переводить код с С++ на питон int main(int argc, char* argv) { int N, M; ...

Перевод с С++ на питон
f(1,1,0). f(N,E,F):-N&gt;1,N1 is N-1,f(N1,E1,F1),E is -E1,F is F1*N+E. f(N,F):-f(N,_,F).

Перевод с паскаля на питон
Помогите пожалуйста перевести на питон Вот условия задачи: Дан файл целых чисел. Найти...

Перевод программы с Си ++ на Питон
Пожалуйста помогите перевести программу с языка Си ++ на Питон! if (e == 1) { if (prev == -1)...

Перевод программы с Паскаля на Питон
uses crt,graphABC; var vx,vy: integer; procedure Vzlet(x,k: integer); var i,y: integer;...

Перевод кода из Паскаля в Питон
Уважаемые форумчане доброго времени суток. Пожалуйста помогите перевести программу из Паскаля в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru