C - GCD on Blackboard 考えたこと 1つ取り除いた残りのgcdが1だったらどうあがいても1だよね gcdが引数より大きくなることはないからね つまり「1つ取り除いたgcdの最大値を求めよ」ってこと これは一つ除き積だね 左右から累積積でOK 公式解説 同じ方針 番兵として0を使ってる gcd(0,X)=gcd(X,0)=X Python標準のgcdもこの挙動