思路:枚舉+set去重+數(shù)學(xué)公式+(最大公約數(shù))
數(shù)學(xué)公式用的是兩點(diǎn)式直線方程止潘,(y-y2)/(y1-y2)=(x-x2)/(x1-x2),
變形后為(y1-y2) x +(x2-x1) y +( x1 * y2 - x2 * y1)=0
思路:先存儲所有的坐標(biāo) ,遍歷所有的坐標(biāo)組獲得直線ax+by+c=0的a哺哼,b佩抹,c并使用gcd約分最后再利用set去重,最后再加上垂直于x軸和y軸的數(shù).
當(dāng)a取董,b棍苹,c數(shù)目不同時,就構(gòu)造出直線茵汰。
為什么要約分枢里?
因?yàn)榍蟪龅囊唤M系數(shù)很可能并不是最簡的,需要約去最大公約數(shù)
為什么要去重蹂午?
因?yàn)槊看螛?gòu)造的系數(shù)不是唯一的栏豺,別的點(diǎn)也可以構(gòu)造出來,所以就需要用到STL的set去重豆胸。
注意:
#include <set>
set<int>s;
s.insert(n%10);
答案:40257
求最大公約數(shù)