1. 程式人生 > >矩陣翻硬幣 數學 藍橋杯

矩陣翻硬幣 數學 藍橋杯

    小明先把硬幣擺成了一個 n 行 m列的矩陣。隨後,小明對每一個硬幣分別進行一次 Q 操作。對第x行第y列的硬幣進行 Q 操作的定義:將所有第 i*x 行,第 j*y列的硬幣進行翻轉。其中i和j為任意使操作可行的正整數,行號和列號都是從1開始。    當小明對所有硬幣都進行了一次 Q操作後,他發現了一個奇蹟——所有硬幣均為正面朝上。   想知道最開始有多少枚硬幣是反面朝上的。只需要對所有硬幣再進行一次Q操作,即可恢復到最開始的狀態。小明希望你給出他更好的方法。幫他計算出答案。【資料格式】    輸入資料包含一行,兩個正整數 nm,含義見題目描述。輸出一個正整數,表示最開始有多少枚硬幣是反面朝上的。【樣例輸入】2 3【樣例輸出】1【資料規模】對於10%的資料,n、m <= 10^3;對於20%的資料,n、m <= 10^7;對於40%的資料,n、m <= 10^15;對於10%的資料,n、m <= 10^1000(10的1000次方)。