hdu1215七夕節求因子和

2021-10-06 10:40:44 字數 731 閱讀 4698

題目鏈結

有t個樣例,每個樣例給定乙個n,將所給n的所有因子相加求和。n的因子就是所有比n小又能被n整除的所有正整數。如12的因子有1,2,3,4,6。(t(1<=t<=500000),n(1<=n<=500000))

這個題思路很簡單,可能你首先想到了不就是從1到n進行遍歷,找他的因子,再用乙個變數計算因子和不就可以了麼。但是我們觀察到,樣例個數t和給定的n都可能會很大,假如直接遍歷1到n,那麼時間複雜度就會很大,會導致超時。所以我們就想,怎麼可以簡化這個迴圈遍歷的過程呢。

int sum =0;

for(

int i =

1; i*i<=n; i++

)}

但是有幾個小細節需要注意,比如因為題目中說,因子要小於n,那麼在變數 i 迴圈到 1 的時候,就不能把n/1=n加進去,還有當i * i剛好為n時,我們只需要加一遍 i 就可以了,而不需要把 i 和 n/i 都加進去。所以要判斷一下這兩種特殊情況。

對於我上面提到的兩種特殊情況,也可以用其他的方法進行處理。

#include

#include

using

namespace std;

intmain()

else

if(n%i==0)

}if(n==1)

printf

("0\n");

else

}}

七夕節 hdu1215(打表求因子和)

給你乙個數n 1 n 50w 求n的所有因子和,由於n的範圍比較大,所以要採用打表的方式,這是第二次看到這道題了,但是還沒能夠一次寫出來。include include include include include include using namespace std define n 5010...

HDU 1215 七夕節 因數和

problem description 七夕節那天,月老來到數字王國,他在城門上貼了一張告示,並且和數字王國的人們說 你們想知道你們的另一半是誰嗎?那就按照告示上的方法去找吧 人們紛紛來到告示前,都想知道誰才是自己的另一半.告示如下 數字n的因子就是所有比n小又能被n整除的所有正整數,如12的因子有...

ACM 數論 HDU1215 七夕節 (模板!)

problem description 七夕節那天,月老來到數字王國,他在城門上貼了一張告示,並且和數字王國的人們說 你們想知道你們的另一半是誰嗎?那就按照告示上的方法去找吧 人們紛紛來到告示前,都想知道誰才是自己的另一半.告示如下 數字n的因子就是所有比n小又能被n整除的所有正整數,如12的因子有...