網易程式設計 最大的奇數約數c 實現

2021-08-03 09:40:58 字數 744 閱讀 9119

1、題目描述

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

首先一看,不難,動手編起來。

#include #include using namespace std;

int main()

coutmaxodd=i;

if((0!=a%2)&&(a>maxodd))//如果這個約數又是奇數

return a;

} } return maxodd;

}

卻執行時間太長,迴圈太多。

修改如下

#include using namespace std;

int main()

else

}cout<

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...

程式設計題 最大的奇約數

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