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