ขนาดวิดีโอ: 1280 X 720853 X 480640 X 360
แสดงแผงควบคุมโปรแกรมเล่น
เล่นอัตโนมัติ
เล่นใหม่
若一個正整數 a 的所有因數為 {d_1, d_2, d_3, ..., d_n}則給定任一個因數 d_k (1 ≦ k ≦ n),存在另一個因數 d_h (1 ≦ h ≦ n) 使得 a = d_k × d_h。事實上,如果 d_1 ~ d_n 是由小到大排列的話,則 h = n - k + 1以下分兩個情況討論:n 為奇數(即 a 為完全平方數),以及 n 為偶數。1) n 為奇數當 n 為奇數時,存在一個因數 d_l 使得 a = d_l × d_l,除此之外,其他因數皆可兩兩相乘得到 a,而其他因數的個數此時為 (n - 1) 個,兩兩配對則共有 (n - 1) / 2 個組合,故所有因數積為 a^((n - 1) / 2) × d_l,但 d_l = a^(1/2),故我們可以進一步得出所有因數積為 a^(n/2)2) n 為偶數當 n 為偶數時,因所有因數可兩兩相乘得到 a,故可知有 n / 2 個組合,故所有因數積為 a^(n/2)綜合 1)、2) 可知,對於任意正整數 a,其因數個數為 n 時,所有因數積為 a^(n/2)
用老師的符號的話,那就是若 N = Π(n = 1 to k)(p_k ^ α_k),p_k 為不同的質數,α_k 為整數,則所有因數個數為(α_1 + 1)(α_2 + 1)(α_3 + 1)...(α_k+1) = Σ(n = 1 to k)(a_n + 1)故所有 N 的因數積為N ^ {[Σ(n = 1 to k)(a_n + 1)] / 2}
超棒!
其實有另一個更簡單一點的想法,類似高斯算1~100總和的作法假設正整數A的正因數數列為{F_n},所有乘積為P分別正著寫和逆著寫P = F_1 * ... * F_nP = F_n * ... * F_1由於任意F_k與F_(n-k)相乘皆為A因此上下相乘可得到P^2 = A^nP = A^(n/2)
@@SakretteAmamiya 優秀
歡迎暴力解 1+1/2+1/3+1/4+1/5+1/6+1/8+1/9+1/10+1/12+1/15+1/18+1/20+1/24+1/30+1/36+1/40+1/45+1/60+1/72+1/90+1/120+1/180+1/360
其實也ok呀 分子是1+2+3+4+5+6+8+9+10+12+15+18+20+24+30+36+40+45+60+72+90+120+180+360 之後/360,
1+1/2+1/3+1/4+1/5+1/6+1/8+1/9+1/10+1/12+1/15+1/18+1/20+1/24+1/30+1/36+1/40+1/45+1/60+1/72+1/90+1/120+1/180+1/360=360/360+180/360+120/360+90/360+72/360+60/360+45/360+40/360+36/360+30/360+24/360+20/360+18/360+15/360+12/360+10/360+9/360+8/360+6/360+5/360+4/360+3/360+2/360+1/360=(360+180+120+90+72+60+45+40+36+30+24+20+18+15+12+10+9+8+6+5+4+3+2+1)/360=(360的所有因數的總和)/360=1170/360=13/4=3+1/4
In number theory, the sum of divisors of n is known as the sigma function, denoted as σ(n)
通分也不會比較慢
=360/360+180/360+……1/360=360+180+120+90+72+60+45+40+36+30+24+20+18+15+12+10+9+8+6+5+4+3+2+1=1170/360=3,1/4
個人的解法如下:先用比較小的數字24來觀察Sum(1/1, 1/2, 1/3, 1/4, 1/6, 1/8, 1/12, 1/24)= Sum(24/24, 12/24, 8/24, 6/24, 4/24, 3/24, 2/24, 1/24)= Sum(All positive factors of 24) / 24同理,n變成360的時候也是360的正因數總和除以360接下來就只是高中常見的求正因數總合的問題先質因數分解為360 = 2^3 * 3^2 * 5^1而360的任一個因數可以表示為2^k1 * 3^k2 * 5^k3,其中k1=0~3, k2=0~2, k3=0~1所有的正因數總共有4*3*2=24個而所有正因數總和為(2^0 + 2^1 + 2^2 + 2^3) * (3^0 + 3^1 + 3^2) * (5^0 + 5^1) = (2^4-1)/(2-1) * (3^3-1)/(3-1) * (5^2-1)/(5-1) = 15 * 13 * 6答案就是(15*13*6)/360 = 13/4Generalize的話對於任意正整數N,其質因數分解為Π(P_n^K_n),而其所有正因數數列可表示為{F_n}則Σ(1/F_n) = Π[ P_n^(K_n-1) / (P_n-1) ] / N
嗯,看起來就跟老師的作法一樣w
雖然已經有大佬寫最簡潔的算法了,不過不才我還是想說另一種想法首先我們知道p1~pk和a1~ak(如影片裡講的)在這裡我們先把因數和叫做S我們以本題360= 2^3 * 3^2 * 5為例並將所有因數表示為 d = 2^x * 3^y * 5*z的形式我們會發現在這24個因數中,有 6 個數字包含2^0、有 6 個數字包含2^1、 2^2與2^3也是這個計算就很像排列組合題中,問你有四種帽子,三種衣服,兩種褲子,問你在所有搭配中A帽子出現幾次那既然知道這個結論,我們就能把他們表示為(2^0 * 2^1 * 2^2 * 2^3)^6,也就是 (2^ (3 x 4 / 2) )^6而這個6剛好就會是S/(a1+1) 也就是24/(3 + 1)所以我們就能將這個式子推廣為 pi ^ (ai * (ai+1) / 2) ) ^ (S/ (ai+1) 的形式剛剛如果是計算3^y的數量的話 也會發現每個3^y 都會在24個因數中出現8次,5^z就是 12我們將剛剛的質數與其對應次方都帶入剛剛的公式的話我們就能得到(2^6)^6 * (3^3)^8 * (5^1)^12以上面fuc33j25 和 劉張德先生/小姐的結論驗證 發現上面的結果確實= 360^12於是我們就能將其推廣,利用連乘,得知因數積為Π(n = 1 to k) (pi ^ (ai * (ai+1) / 2) ) ^ (S/ (ai+1) )
不過上面的算法在數學上和程式上都不是說到最好,這裡提供CSES(寫程式題目的網站)的連結usaco.guide/problems/cses-2182-divisor-analysis/solution這裡的算法是以上面的算法為基礎,並將其轉為遞迴的形式,這樣比較能避免計算時有溢位的情形發生(C++整數最大範圍為 -2^31 ~ 2^31-1)
哇 寫得好認真 👍
12:40 看完題目第一時間就想到要這樣解
小時候有看過算8128的因數倒數和,當初也是硬算,後來才知道因為是完全數所以答案一定是2
先生,你講得太好了
因數的數量跟總和是臺灣高中排組的常考題 剛好複習一下(下禮拜模考嗚嗚)
頭尾相乘都是原本的數 原本的數是360 有24個解 所以是360的12次方 如果是平方數就只有奇數解 假設144 有15個解 那就是144的7次方再乘12也就是12的15次方
精彩!!
最直覺的想法是得到N的因數個數K,N^(K/2)就是所以因數的積,不過好像不太好算
所以->所有
我遇到質因數分解的題目我都硬解 之後終於不用了
6:22~6:25 ;12:32~12:37 酷欸!這黑板可以像書櫃一樣滑動
這邊應該有很多厲害的人有個問題我想不到想問問你們1+n+2分之n(n-1)+6分之n(n-1)(n-2)=2的k次方 n,k皆為正整數 求所有可能的n值總和
其實後面用到的是排列組合的概念
好有趣
8:35老师口误说成了b^a😂
用粉筆好像沒辦法施展曹老師的換筆神技。
老師 我想學2022的題目
其實算D也是通分,只是簡化一次而已。這題看到第一眼,就暴力解,懶得通分算,就算d的和,少一步,但也就只有一步而已。
40的因数分解最后一行写成8*5会不会更好一点?
必需得用質數去分解喔 要不然最後的公式不成立
(2^4-1)(3^3-1)(5^2-1)/360😀
其實......這跟通分是一樣的概念啊
就是通分呀,只是你能夠用老師的解法寫成那個模式,你就會得到三個簡單的等比級數,接著你套用等比級數的簡單公式就可以得到答案,這題考國中生的所有數字故意沒有取很大或是因子很複雜的,不然你可以同分看看,算到你會懷疑人生。
感覺每個數學比賽的最後一題都會故意被做到很難😂😂😂
壓軸嘛
要是題目不夠有趣,對於能力強的人來說會很失望吧w
若一個正整數 a 的所有因數為 {d_1, d_2, d_3, ..., d_n}
則給定任一個因數 d_k (1 ≦ k ≦ n),存在另一個因數 d_h (1 ≦ h ≦ n) 使得 a = d_k × d_h。事實上,如果 d_1 ~ d_n 是由小到大排列的話,則 h = n - k + 1
以下分兩個情況討論:n 為奇數(即 a 為完全平方數),以及 n 為偶數。
1) n 為奇數
當 n 為奇數時,存在一個因數 d_l 使得 a = d_l × d_l,除此之外,其他因數皆可兩兩相乘得到 a,而其他因數的個數此時為 (n - 1) 個,兩兩配對則共有 (n - 1) / 2 個組合,故所有因數積為 a^((n - 1) / 2) × d_l,但 d_l = a^(1/2),故我們可以進一步得出所有因數積為 a^(n/2)
2) n 為偶數
當 n 為偶數時,因所有因數可兩兩相乘得到 a,故可知有 n / 2 個組合,故所有因數積為 a^(n/2)
綜合 1)、2) 可知,對於任意正整數 a,其因數個數為 n 時,所有因數積為 a^(n/2)
用老師的符號的話,那就是
若 N = Π(n = 1 to k)(p_k ^ α_k),p_k 為不同的質數,α_k 為整數,則所有因數個數為
(α_1 + 1)(α_2 + 1)(α_3 + 1)...(α_k+1) = Σ(n = 1 to k)(a_n + 1)
故所有 N 的因數積為
N ^ {[Σ(n = 1 to k)(a_n + 1)] / 2}
超棒!
其實有另一個更簡單一點的想法,類似高斯算1~100總和的作法
假設正整數A的正因數數列為{F_n},所有乘積為P
分別正著寫和逆著寫
P = F_1 * ... * F_n
P = F_n * ... * F_1
由於任意F_k與F_(n-k)相乘皆為A
因此上下相乘可得到P^2 = A^n
P = A^(n/2)
@@SakretteAmamiya 優秀
歡迎暴力解 1+1/2+1/3+1/4+1/5+1/6+1/8+1/9+1/10+1/12+1/15+1/18+1/20+1/24+1/30+1/36+1/40+1/45+1/60+1/72+1/90+1/120+1/180+1/360
其實也ok呀 分子是1+2+3+4+5+6+8+9+10+12+15+18+20+24+30+36+40+45+60+72+90+120+180+360 之後/360,
1+1/2+1/3+1/4+1/5+1/6+1/8+1/9+1/10+1/12+1/15+1/18+1/20+1/24+1/30+1/36+1/40+1/45+1/60+1/72+1/90+1/120+1/180+1/360
=360/360+180/360+120/360+90/360+72/360+60/360+45/360+40/360+36/360+30/360+24/360+20/360+18/360+15/360+
12/360+10/360+9/360+8/360+6/360+5/360+4/360+3/360+2/360+1/360
=(360+180+120+90+72+60+45+40+36+30+24+20+18+15+12+10+9+8+6+5+4+3+2+1)/360
=(360的所有因數的總和)/360
=1170/360
=13/4
=3+1/4
In number theory, the sum of divisors of n is known as the sigma function, denoted as σ(n)
通分也不會比較慢
=360/360+180/360+……1/360
=360+180+120+90+72+60+45+40+36+30+24+20+18+15+12+10+9+8+6+5+4+3+2+1
=1170/360
=3,1/4
個人的解法如下:
先用比較小的數字24來觀察
Sum(1/1, 1/2, 1/3, 1/4, 1/6, 1/8, 1/12, 1/24)
= Sum(24/24, 12/24, 8/24, 6/24, 4/24, 3/24, 2/24, 1/24)
= Sum(All positive factors of 24) / 24
同理,n變成360的時候也是360的正因數總和除以360
接下來就只是高中常見的求正因數總合的問題
先質因數分解為360 = 2^3 * 3^2 * 5^1
而360的任一個因數可以表示為2^k1 * 3^k2 * 5^k3,其中k1=0~3, k2=0~2, k3=0~1
所有的正因數總共有4*3*2=24個
而所有正因數總和為(2^0 + 2^1 + 2^2 + 2^3) * (3^0 + 3^1 + 3^2) * (5^0 + 5^1) = (2^4-1)/(2-1) * (3^3-1)/(3-1) * (5^2-1)/(5-1) = 15 * 13 * 6
答案就是(15*13*6)/360 = 13/4
Generalize的話
對於任意正整數N,其質因數分解為Π(P_n^K_n),而其所有正因數數列可表示為{F_n}
則Σ(1/F_n) = Π[ P_n^(K_n-1) / (P_n-1) ] / N
嗯,看起來就跟老師的作法一樣w
雖然已經有大佬寫最簡潔的算法了,不過不才我還是想說另一種想法
首先我們知道p1~pk和a1~ak(如影片裡講的)
在這裡我們先把因數和叫做S
我們以本題360= 2^3 * 3^2 * 5為例
並將所有因數表示為 d = 2^x * 3^y * 5*z的形式
我們會發現在這24個因數中,有 6 個數字包含2^0、有 6 個數字包含2^1、 2^2與2^3也是
這個計算就很像排列組合題中,問你有四種帽子,三種衣服,兩種褲子,問你在所有搭配中A帽子出現幾次
那既然知道這個結論,我們就能把他們表示為(2^0 * 2^1 * 2^2 * 2^3)^6,也就是 (2^ (3 x 4 / 2) )^6
而這個6剛好就會是S/(a1+1) 也就是24/(3 + 1)
所以我們就能將這個式子推廣為 pi ^ (ai * (ai+1) / 2) ) ^ (S/ (ai+1) 的形式
剛剛如果是計算3^y的數量的話 也會發現每個3^y 都會在24個因數中出現8次,5^z就是 12
我們將剛剛的質數與其對應次方都帶入剛剛的公式的話
我們就能得到(2^6)^6 * (3^3)^8 * (5^1)^12
以上面fuc33j25 和 劉張德先生/小姐的結論驗證 發現上面的結果確實= 360^12
於是我們就能將其推廣,利用連乘,得知因數積為Π(n = 1 to k) (pi ^ (ai * (ai+1) / 2) ) ^ (S/ (ai+1) )
不過上面的算法在數學上和程式上都不是說到最好,這裡提供CSES(寫程式題目的網站)的連結
usaco.guide/problems/cses-2182-divisor-analysis/solution
這裡的算法是以上面的算法為基礎,並將其轉為遞迴的形式,這樣比較能避免計算時有溢位的情形發生(C++整數最大範圍為 -2^31 ~ 2^31-1)
哇 寫得好認真 👍
12:40 看完題目第一時間就想到要這樣解
小時候有看過算8128的因數倒數和,當初也是硬算,後來才知道因為是完全數所以答案一定是2
先生,你講得太好了
因數的數量跟總和是臺灣高中排組的常考題 剛好複習一下(下禮拜模考嗚嗚)
頭尾相乘都是原本的數 原本的數是360 有24個解 所以是360的12次方 如果是平方數就只有奇數解 假設144 有15個解 那就是144的7次方再乘12也就是12的15次方
精彩!!
最直覺的想法是得到N的因數個數K,N^(K/2)就是所以因數的積,不過好像不太好算
所以->所有
我遇到質因數分解的題目我都硬解 之後終於不用了
6:22~6:25 ;12:32~12:37 酷欸!這黑板可以像書櫃一樣滑動
這邊應該有很多厲害的人有個問題我想不到想問問你們1+n+2分之n(n-1)+6分之n(n-1)(n-2)=2的k次方 n,k皆為正整數 求所有可能的n值總和
其實後面用到的是排列組合的概念
好有趣
8:35老师口误说成了b^a😂
用粉筆好像沒辦法施展曹老師的換筆神技。
老師 我想學2022的題目
其實算D也是通分,只是簡化一次而已。這題看到第一眼,就暴力解,懶得通分算,就算d的和,少一步,但也就只有一步而已。
40的因数分解最后一行写成8*5会不会更好一点?
必需得用質數去分解喔 要不然最後的公式不成立
(2^4-1)(3^3-1)(5^2-1)/360😀
其實......這跟通分是一樣的概念啊
就是通分呀,只是你能夠用老師的解法寫成那個模式,你就會得到三個簡單的等比級數,接著你套用等比級數的簡單公式就可以得到答案,這題考國中生的所有數字故意沒有取很大或是因子很複雜的,不然你可以同分看看,算到你會懷疑人生。
感覺每個數學比賽的最後一題都會故意被做到很難😂😂😂
壓軸嘛
要是題目不夠有趣,對於能力強的人來說會很失望吧w
(2^4-1)(3^3-1)(5^2-1)/360😀