Ici deux mêmes codes en C++ et Python: la fonction doit être répétée jusqu'à l'absence d'entrée. Le code C++ passe, mais le code Python ne passe pas les testcases. quel est le problème sur le code python? grâcePython: pourquoi "break while loop si pas d'entrée" ne passe pas testcase
code python:
def func(n):
if n==1:
return 1
else:
s=(n+1)//2
return s*s + func(n//2)
while True:
n=input()
if n=='':
break
else:
print(func(int(n)))
C++ Code:
#include <bits/stdc++.h>
using namespace std;
long long fun(long long n){
if(n==1)
return 1;
long long s=(n+1)/2;
return s*s+fun(n/2);
}
int main(){
long long n;
while(cin>>n)
cout<<fun(n)<<endl;
}
Expliquer ce que "passer le cas d'essai" pour toi. Est-ce que les critères pour "passer" le TC sortent simplement de la boucle? – ray
Pourquoi utilisez-vous '// 2' dans le code python? – aliasm2k
@ aliasm2k: Pour ... faire une division entière par deux? – Ryan