код с C++ на Python
В рациях я перешёл с С++ на Python решил опробовать свои в одной задачке, но не получилось :( А получилось только на С++, можете ли вы помочь с переписыванием кода на С++ в Python код вот С++ код:
#include<bits/stdc++.h>
using namespace std;
int n,m,j;
int main()
{
cin>>n>>m;
while(m>=(j-1)%n+1)
{
m-=(j-1)%n+1;
j++;
}
cout<<m;
return 0;
}
Ответы (1 шт):
В c++ целочисленная переменная объявленная вне функции (глобальная переменная) по умолчанию имеет значение 0.
Тогда на строчке с циклом while у нас произойдет вот такая операция:
while(m >= (0 - 1) % n + 1)
Например пусть m = 20, n = 10, тогда в строчке выше, операция -1 % 10 в c++ вернет -1, а в python результат этой же операции будет 9.
Так же т.к. автор не дал ни условия задачи, ни ограничений для m и n, то предположу, что n > 0, а для m думаю любое значение.
Тогда, чтобы не было проблемы описанной выше, можно перед циклом пройти эту итерацию отдельно:
# n > 1 т.к. при n == 1 операция -1 % 1 вернет и там, и там 0
if n > 1 and m >= 1:
j = 1
В итоге получаем такой код:
n = int(input())
m = int(input())
j = 0
if n > 1 and m >= 0:
j = 1
while m >= (j - 1) % n + 1:
m -= (j - 1) % n + 1
j += 1
print(m)
Не знаю зачем вам код на python если вы написали на c++, но на будущее все, что я написал выше очень просто гуглится, это говорит вам человек, который не пишет на python
P.S. Нашел на github конвертер из c++ в python код, не знаю, точно как там все работает, не проверял, но думаю для маленький задач сгодится :)