可被2 或5 整除的n 個自然數的和可以透過查找N 以內可被2 整除的所有自然數之和以及N 以內可被5 整除的所有自然數之和來求出。將這兩個和減去 N 以內可被 10 整除的自然數之和,這就是我們想要的結果。此方法是一種有效的方法,可用來求 n 的大值總和。
你們中的一些人一定正在考慮使用迴圈和條件語句,然後將所有可被整除的數字相加2 或5,但這種方法效率低下,因為它的時間複雜度為n 階。這意味著對於較大的 n 值,程式將執行循環 n 次。而且這樣執行會使程式變得更重。
求n個自然數和能被2整除的公式
Sum2 = ((n / 2) * (4 + (n / 2 - 1) * 2)) / 2
找到n個能被5整除的自然數的求和公式
Sum5 = ((n / 5) * (10 + (n / 5 - 1) * 5)) / 2
找到n個能被10整除的自然數的和的公式
Sum10 = ((n / 10) * (20 + (n / 10 - 1) * 10)) / 2
期望的輸出
Sum = Sum2 + Sum5 - Sum10
#include <stdio.h> int main() { int n = 25; long int sum2, sum5, sum10; sum2 = ((n / 2) * (4 + (n / 2 - 1) * 2)) / 2; sum5 = ((n / 5) * (10 + (n / 5 - 1) * 5)) / 2; sum10 = ((n / 10) * (20 + (n / 10 - 1) * 10)) / 2; long int sum = sum2 + sum5 - sum10; printf("Sum is %d", sum); return 0; }
Sum is 201
以上是將以下內容翻譯為中文:在C編程中,求N以內能被2或5整除的數的和的詳細內容。更多資訊請關注PHP中文網其他相關文章!