首頁  >  文章  >  後端開發  >  將以下內容翻譯為中文:在C編程中,求N以內能被2或5整除的數的和

將以下內容翻譯為中文:在C編程中,求N以內能被2或5整除的數的和

WBOY
WBOY轉載
2023-09-20 08:25:061196瀏覽

將以下內容翻譯為中文:在C編程中,求N以內能被2或5整除的數的和

可被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中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除