程式設計題 最大的奇約數

2021-08-07 23:17:20 字數 720 閱讀 6072

小易是乙個數論愛好者,並且對於乙個數的奇數約數十分感興趣。一天小易遇到這樣乙個問題: 定義函式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

輸出**:

//找規律,你會發現基數都是直接取,偶數/2,得到的基礎直接取,偶數繼續/2,每次迴圈,可以把規模縮小1/2。

//要注意的是((i + 1) / 2) * ((i + 1) / 2)運算時候,括號的優先順序。

#include "iostream"

using

namespace

std;

typedef

long

long ll;

int main()

return

0;}

最大的奇約數

參考 小易是乙個數論愛好者,並且對於乙個數的奇數約數十分感興趣。一天小易遇到這樣乙個問題 定義函式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 ...

Python 網易筆試程式設計題( 最大的奇約數)

如下是網易17年秋招程式設計題裡的題目 小易是乙個數論愛好者,並且對於乙個數的奇數約數十分感興趣。一天小易遇到這樣乙個問題 定義函式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...

網易2017程式設計題之前n個數的最大奇約數之和

小易是乙個數論愛好者,並且對於乙個數的奇數約數十分感興趣。一天小易遇到這樣乙個問題 定義函式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...