真實奧數題
題目大意:給你正整數k$,r$。問你存在多少對$(x,y)$,滿足$x
資料範圍:$r≤1e9$,$k=$。
我們先考慮$k=1$的情況,顯然就是乙個求勾股數對數的問。有一種經典的列舉所有$x^2+y^2=z^2$且$(x,y,z)=1$的勾股數對數的式子:
$\begin x=2nm\\ y=n^2-m^2 \\ z=n^2+m^2 \end$
證明的話,展開下式子算算就好
我們只需要暴力列舉r的因數進行計算就可以了,時間複雜度$o(r^+0.5})$(這個式子是抄來的,證明本蒟蒻不懂,反正是能過的qwq)。
考慮$k=2$的情況,我們參考處理$k=1$的情況,列一組式子,可以列舉所有$x^2+y^2=2z^2$且$(x,y,z)=1$的式子:
$\begin x=n-m\\ y=n+m \\ z=\sqrt \end$
證明同上
我們不難發現,這時候求解的關鍵變為了求$z^2=n^2+m^2$的對數(並將所有方案打出),這不就是第一問嗎$qwq$。
我們只需要求出所有的$(n,m)$數對後,簡單轉化一波就可以了。
考慮k=3的情況,抱歉這個是無解的qwq
1 #include2#define l long long
3#define m 10000005
4using
namespace
std;
56 pairp[m]; int cnt=0;7
8int
solve(l z,l bei)
21return
res;22}
2324
intmain()
29for(l i=1;i*i<=z;i++) if(z%i==0
)33 sort(p+1,p+cnt+1
);34 cnt=unique(p+1,p+cnt+1)-p-1;35
if(k==2
)39 sort(p+1,p+cnt+1
);40 cnt=unique(p+1,p+cnt+1)-p-1;41
}42 printf("
%d\n
",cnt);
43for(int i=1;i<=cnt;i++) printf("
%d %d\n
",p[i].first,p[i].second);
4445
}46 }
小學數學題
小學數學題1 usetyp 1 目標 擷取字串usetyp 注意,usetyp的長度是可變的 問題 求以上字串usetyp的長度 注意usetyp的長度是不固定 設usetyp的長度 p 已知1 號的索引位置x indexof 已知理論2 字串長度 最大索引 1 所以,p x 1 3 p x 2 所...
數學題亂記
在 delta abc 中,滿足 cos 2 cfrac 判斷三角形形狀。其中 begin cos 2 cfrac cfrac cfrac sin 1 cos cfrac sin 1 cos cfrac 1 cos cfrac cos cfrac end 根據餘弦定理有 cos cfrac 所以可得...
河內塔數學題
背景資料 漢諾塔 漢諾塔 又稱河內塔 問題是源於印度乙個古老傳說的益智玩具。大梵天創造世界的時候做了三根金剛石柱子,在一根柱子上從下往上按照大小順序摞著64片 圓盤。大梵天命令婆羅門把圓盤從下面開始按大小順序重新擺放在另一根柱子上。並且規定,在小圓盤上不能放大圓盤,在三根柱子之間一次只能移動乙個圓盤...