>>> num = 0
>>> for i in range(100):
... if i % 2 == 0:
... num = num - i
... else:
... num = num + i
...
>>> num
50
De plus, puisqu'il s'agit du premier nombre moins le dernier nombre, la somme entre les deux valeurs est -1, et 99/2=49,5 Il y a donc 49 paires au total, et le résultat est -. 49. L'ajouter à 99 nous donne 99-49=50
Après un rapide coup d'œil, les réponses précédentes utilisaient toutes des for boucles. Personnellement, je pense que vous devriez les utiliser moins si vous le pouvez, et essayer de réduire le temps jusqu'à O1. Supposons que le paramètre soit n, qui est le plus grand nombre, et que les deux soient supérieurs à 0, ici il est 99
n
result
1
1
2
-1
3
1
4
-2
5
3
6
-3
Quand n est un nombre impair, le résultat est positif, résultat = ((n - 1) / 2) * (-1) + n Quand n est un nombre pair, le résultat est négatif, c'est-à-dire , résultat = (n/2) * (-1) Donc, la réponse est sortie. .
def compute(n):
if n % 2 is 1:
return int(((n - 1) / 2) * (-1) + n)
else:
return int((n / 2) * (-1))
Il peut être calculé comme ceci :
De plus, puisqu'il s'agit du premier nombre moins le dernier nombre, la somme entre les deux valeurs est -1, et 99/2=49,5 Il y a donc 49 paires au total, et le résultat est -. 49. L'ajouter à 99 nous donne 99-49=50
Après un rapide coup d'œil, les réponses précédentes utilisaient toutes des
for
boucles. Personnellement, je pense que vous devriez les utiliser moins si vous le pouvez, et essayer de réduire le temps jusqu'à O1.Supposons que le paramètre soit n, qui est le plus grand nombre, et que les deux soient supérieurs à 0, ici il est 99
Quand n est un nombre impair, le résultat est positif, résultat = ((n - 1) / 2) * (-1) + n
Quand n est un nombre pair, le résultat est négatif, c'est-à-dire , résultat = (n/2) * (-1)
Donc, la réponse est sortie. .
Code
Résultats