Rumah  >  Soal Jawab  >  teks badan

python循环题目求1-2+3-4+5 ... 99的所有数的和

怎么求呢??想不出

阿神阿神2740 hari yang lalu4707

membalas semua(6)saya akan balas

  • 天蓬老师

    天蓬老师2017-04-18 10:19:08

    Ia boleh dikira seperti ini:

    >>> 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

    balas
    0
  • 迷茫

    迷茫2017-04-18 10:19:08

    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))

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 10:19:08

    >>> rslt=0
    >>> for n in range(1,100):
        rslt += n*(-1,1)[n&1]
    
        
    >>> rslt
    50

    >>> sum(( n*(-1,1)[n&1] for n in range(1,100) ))
    50

    balas
    0
  • 阿神

    阿神2017-04-18 10:19:08

    >>> sum((sum(range(1, 100)[::2]), -sum(range(1, 100)[1::2])))
    >>> 50
    >>> # functools和itertools是你最强大的利器。

    balas
    0
  • 迷茫

    迷茫2017-04-18 10:19:08

    Kod

    # 定义输出字符串
    aaa = ''
    # 定义计算结果
    bbb = 0
    
    for i in range(1,100):
        aaa += str(i)
        if i % 2 == 0:
            aaa += '+'
            bbb -= i
        else:
            aaa += '-'
            bbb += i
    print('字符串输出: \r\n %s \r\n计算结果: \r\n %s' % (aaa.rstrip('-'), bbb))

    Keputusan

    字符串输出: 
    
     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-78+79-80+81-82+83-84+85-86+87-88+89-90+91-92+93-94+95-96+97-98+99- 
    
    计算结果: 
    
     50

    balas
    0
  • PHP中文网

    PHP中文网2017-04-18 10:19:08

    
    def get_sum(lo, hi):
        return sum(range(lo, hi+1, 2)) + sum(range(lo+1, hi, 2))

    balas
    0
  • Batalbalas