最大的奇約數

2021-08-21 11:42:50 字數 797 閱讀 2245

參考:

小易是乙個數論愛好者,並且對於乙個數的奇數約數十分感興趣。一天小易遇到這樣乙個問題: 定義函式f(x)為x最大的奇數約數,x為正整數。 例如:f(44) = 11.

現在給出乙個n,需要求出 f(1) + f(2) + f(3).......f(n)

例如: n = 7

f(1) + f(2) + f(3) + f(4) + f(5) + f(6) + f(7) = 1 + 1 + 3 + 1 + 5 + 3 + 7 = 21

小易計算這個問題遇到了困難,需要你來設計乙個演算法幫助他。

輸入乙個整數n (1 ≤ n ≤ 1000000000)
輸出乙個整數,即為f(1) + f(2) + f(3).......f(n)
示例1

複製

7

複製

21

#include

using

namespace

std;

intmain()

//例如n為8則:

//1 2 3 4 5 6 7 8 中有,1 3 5 7 四個奇數相加然後對2 4 6 8

//分別除於二得1 2 3 4中有1 3兩個奇數相加,然後對2 4分別除於二,以此類推

//當n為偶數時,有n/2個奇數,根據等差數列求和公式,

//((1+n-1)*n/2)/2,即為(n/2)*(n/2),此時n為偶數,因此(n/2)*(n/2)=((n+1)/2)*((n+1)/2)

//當n為奇數時,有(n+1)/2個奇數,奇數和為(n+1)/2*(n+1)/2

程式設計題 最大的奇約數

小易是乙個數論愛好者,並且對於乙個數的奇數約數十分感興趣。一天小易遇到這樣乙個問題 定義函式f x 為x最大的奇數約數,x為正整數。例如 f 44 11.現在給出乙個n,需要求出 f 1 f 2 f 3 f n 例如 n 7 f 1 f 2 f 3 f 4 f 5 f 6 f 7 1 1 3 1 5...

PHP 求最大奇約數的和

小易是乙個數論愛好者,並且對於乙個數的奇數約數十分感興趣。一天小易遇到這樣乙個問題 定義函式f x 為x最大的奇數約數,x為正整數。例如 f 44 11.現在給出乙個n,需要求出 f 1 f 2 f 3 f n 例如 n 7 f 1 f 2 f 3 f 4 f 5 f 6 f 7 1 1 3 1 5...

牛客網 最大的奇約數

小易是乙個數論愛好者,並且對於乙個數的奇數約數十分感興趣。一天小易遇到這樣乙個問題 定義函式f x 為x最大的奇數約數,x為正整數。例如 f 44 11.現在給出乙個n,需要求出 f 1 f 2 f 3 f n 例如 n 7 f 1 f 2 f 3 f 4 f 5 f 6 f 7 1 1 3 1 5...