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


kk20180820@gmail.com (Wayne Yang)

學校 : 國立鳳山高級中學
編號 : 172018
來源 : [49.159.254.231]
最後登入時間 :
2024-03-16 17:31:07
d490. 我也愛偶數 -- 板橋高中教學題 | From: [49.159.254.231] | 發表日期 : 2023-02-11 15:39

//本題使用兩行解,最後還宣告一個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;
}

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


krameri120 (科科)

學校 : 國立臺南高級工業職業學校
編號 : 102318
來源 : [36.237.212.239]
最後登入時間 :
2024-04-01 14:20:14
d490. 我也愛偶數 -- 板橋高中教學題 | From: [39.14.55.14] | 發表日期 : 2023-02-11 18:52

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

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

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

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

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

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

    return 0;
}

謝謝大大~  XD


 
ZeroJudge Forum