#33896: C++使用等差級數和公式的 兩行解,參考krameri120 (科科)大大在[我愛偶數]這題的解法


kk20180820@gmail.com (Wayne Yang)

學校 : 國立鳳山高級中學
編號 : 172018
來源 : [39.14.24.86]
最後登入時間 :
2024-09-14 00:24:32
d490. 我也愛偶數 -- 板橋高中教學題 | From: [49.159.254.231] | 發表日期 : 2023-02-11 15:34

//本題使用兩行解,最後還宣告一個int存取的原因是系統會把(((a+1)/2*2......的運算結果會被系統存取成科學記號,又題目保證ans不會超過int存取範圍

//所以直接用int存取ans再把它列印出來,可以避免掉存成科學記號的問題!!

//本題有參考krameri120 (科科)大大在[我愛偶數]這題的解法,因為這題會用到項數

//https://zerojudge.tw/ShowThread?postid=29366&reply=0

//本題使用等差級數和公式解題

#include<iostream>
using namespace std;


int main(void)
{
    unsigned long long a,b;
    cin>>a>>b;

    //      ( 首項        +      末項 )  *  1/2       *    項數
    int t=(((a+1)/2)*2+((b/2)*2))*0.5*((b-a)+(a%2==0)+(b%2==0))/2;


    cout<<t;

    return 0;
}

 
ZeroJudge Forum