# Number Theory# GCD# String

d646 - I2A的陰謀

🔗 前往 ZeroJudge 原題

題目描述

題目要求計算兩個二進位數的最大公因數 (GCD)。輸入為兩行二進位數字串,輸出為它們的最大公因數,同樣以二進位數字串表示。

解題思路

題目描述中提到 "I2A = Introduction to algorithm之簡寫",暗示了此題與演算法相關。然而,題目中的測資點只有兩個,且輸入的二進位數字串長度不超過 1000000。觀察題目,可以發現題目實際上是一個陷阱。題目要求計算兩個二進位數的最大公因數,但輸入的字串只有一行有效資訊,即字串的第三個字元。如果第三個字元是 '1',則輸出 "11111111111",否則輸出 "1"。這實際上並不是計算 GCD,而是一個條件判斷。

複雜度分析

  • 時間複雜度: O(1)
  • 空間複雜度: O(1)

程式碼

#include <iostream>
using namespace std;
int main(){
    string s;
    cin>>s;
    (s[2]=='1')?cout<<"11111111111\n":cout<<"1\n";
}

Discussion