ホームページ > バックエンド開発 > C++ > 次の内容を中国語に翻訳してください: C プログラミングでは、2 または 5 で割り切れる N 内の数値の合計を求めます。

次の内容を中国語に翻訳してください: C プログラミングでは、2 または 5 で割り切れる N 内の数値の合計を求めます。

WBOY
リリース: 2023-09-20 08:25:06
転載
1264 人が閲覧しました

次の内容を中国語に翻訳してください: C プログラミングでは、2 または 5 で割り切れる N 内の数値の合計を求めます。

2 または 5 で割り切れる n 個の自然数の和は、2 で割り切れる N 個の自然数すべての和とすべての和を求めることで求められます。 N以内で5で割れる自然数。探しに来てください。これら 2 つの合計を、N 内の 10 で割り切れる自然数の合計で引きます。これが私たちが望むことです。この方法は、n の大きな値の合計を見つける効率的な方法です。

ループと条件文を使用して、2 または 5 で割り切れるすべての数値を合計することを考えている人もいるでしょう。しかし、このアプローチは次数 n の時間計算量があるため非効率的です。これは、n の値が大きい場合、プログラムはループを n 回実行することを意味します。そしてこのようにするとプログラムが重くなります。

2で割り切れるn個の自然数の和の式を求めてください

Sum2 = ((n / 2) * (4 + (n / 2 - 1) * 2)) / 2
ログイン後にコピー

5で割り切れるn個の自然数の和の公式を求めてください

Sum5 = ((n / 5) * (10 + (n / 5 - 1) * 5)) / 2
ログイン後にコピー

5 で割り切れる n 個の自然数の和を求める式を求めます。 10 で割り切れる自然数の和を求める公式

Sum10 = ((n / 10) * (20 + (n / 10 - 1) * 10)) / 2
ログイン後にコピー

期待される出力

Sum = Sum2 + Sum5 - Sum10
ログイン後にコピー

Example

#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 プログラミングでは、2 または 5 で割り切れる N 内の数値の合計を求めます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート