題目描述
科學家們在 Samuel 星球上的探險得到了豐畜的能源儲備,這使得空間站中大細計算機“Samuel II”的長時間運算成爲了可能。由於在去年一年的辛苦工作取得了不錯的成績,小聯被允許用“Samuel II”進行數學研究。
小聯最近在研究和約數有關的問題,他統計每個正數 NN 的約數的個數,並以 f(N)f(N) 來表示。例如 12 的約數有 1、2、3、4、6、12。因此 f(12)=6。下表給出了一些f(N) 的取值:
現在小聯希望用“Samuel II”來統計 f(1) 到 f(N) 的累加和 M。
M=\sum\limits_{i=1}^{n}f(i)
輸入描述
只有一行一個整數 N(0 < N < 1000000)
輸出描述
只有一行輸出,爲整數 M,即 f(1) 到 f(N) 的累加和。
樣例輸入 1
3
樣例輸出 1
5
思路:舉個例子6,for循環1-6,1時爲6,6個數都有1這個約束。2時爲3, 2,4,6共3個數有這個約數以此類推
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner read = new Scanner(System.in);
long n = read.nextLong();
long count=0;
//舉個例子6,for循環1-6,1時爲6,6個數都有1這個約束。2時爲3, 2,4,6共3個數有這個約數以此類推
for(int i=1;i<=n;i++)
{
count += n/i;
}
System.out.println(count);
}
}