>>> num = 0
>>> for i in range(100):
... if i % 2 == 0:
... num = num - i
... else:
... num = num + i
...
>>> num
50
Selain itu, kerana ia adalah nombor pertama tolak nombor terakhir, jumlah antara dua nilai adalah -1, dan 99/2=49.5 Oleh itu, terdapat 49 pasangan secara keseluruhan, dan hasilnya ialah -. 49. Menambahnya kepada 99 memberi kita 99-49=50
Selepas melihat sepintas lalu, semua jawapan sebelum ini menggunakan for secara peribadi, saya fikir anda harus menggunakannya kurang jika anda boleh, dan cuba mengurangkan masa kepada O1. Andaikan parameter ialah n, iaitu nombor terbesar, dan kedua-duanya lebih besar daripada 0, ini ialah 99
n
result
1
1
2
-1
3
1
4
-2
5
3
6
-3
Apabila n ialah nombor ganjil, hasilnya adalah positif, keputusan = ((n - 1) / 2) * (-1) + n Apabila n ialah nombor genap, hasilnya adalah negatif, iaitu , keputusan = (n / 2) * (-1) Jadi, jawapannya sudah keluar. .
def compute(n):
if n % 2 is 1:
return int(((n - 1) / 2) * (-1) + n)
else:
return int((n / 2) * (-1))
Ia boleh dikira seperti ini:
Selain itu, kerana ia adalah nombor pertama tolak nombor terakhir, jumlah antara dua nilai adalah -1, dan 99/2=49.5 Oleh itu, terdapat 49 pasangan secara keseluruhan, dan hasilnya ialah -. 49. Menambahnya kepada 99 memberi kita 99-49=50
Selepas melihat sepintas lalu, semua jawapan sebelum ini menggunakan
for
secara peribadi, saya fikir anda harus menggunakannya kurang jika anda boleh, dan cuba mengurangkan masa kepada O1.Andaikan parameter ialah n, iaitu nombor terbesar, dan kedua-duanya lebih besar daripada 0, ini ialah 99
Apabila n ialah nombor ganjil, hasilnya adalah positif, keputusan = ((n - 1) / 2) * (-1) + n
Apabila n ialah nombor genap, hasilnya adalah negatif, iaitu , keputusan = (n / 2) * (-1)
Jadi, jawapannya sudah keluar. .
Kod
Keputusan