Cプログラミング
 Computer >> コンピューター >  >> プログラミング >> Cプログラミング

cプログラミングで2または5で割り切れるNまでの数の合計


2または5で割り切れるn個の自然数の合計は、2で割り切れるNまでのすべての自然数の合計と5で割り切れるNまでのすべての自然数の合計を求めることによって見つけることができます。次に、10で割り切れるNまでの自然数の合計でそれを引くと、望ましい結果が得られます。この方法は、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

10で割り切れるn個の自然数の合計を求める式

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

  1. Cプログラミングの関数のスコープルールは何ですか?

    ローカルスコープ ローカルスコープは、ブロック内で定義された変数がそのブロック内でのみ表示され、ブロック外では非表示になることを指定します。 グローバルスコープ グローバルスコープは、ブロックの外側で定義された変数がプログラムの最後まで表示されることを指定します。 例 #include<stdio.h> int r= 50; /* global area */ main (){    int p = 30;    printf (“p=%d, r=%d” p,r);    fun (); } f

  2. Cプログラミングの関数のさまざまなカテゴリは何ですか?

    引数が存在するかどうか、および値が返されるかどうかに応じて、関数は-に分類されます。 引数も戻り値もない関数 引数なしで戻り値のある関数 引数ありで戻り値のない関数 引数と戻り値を持つ関数 引数と戻り値のない関数 例 #include<stdio.h> main (){    void sum ();    clrscr ();    sum ();    getch (); } void sum (){    int a,b,c;   &