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

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

WBOY
發布: 2023-09-20 08:25:06
轉載
1264 人瀏覽過

將以下內容翻譯為中文:在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
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板