基本和积计算1.1.1整数求和

    对一组有规律的整数求和,如果和式中的第k项的通项公式明确为f(k),则在设置的求和k循环中,是用赋值语句s=s+f(k),把f(k)累加到s中,即可实现求和。

    1.求和:s=1+2+......+n,其中正整数n从键盘输入。

     解:这是求前n个正整数之和,和式中各项的通项明确为f(k)=k,k=1,2,.....n。因而只要在设置的k循环中用s=s+k即可实现求和。

        #include<stdio.h>

       void main()

      {

        long k,n,s=0;

        printf("input n:  ");

       scanf("%ld",&n);

       for(k=1;k<=n;k++)

            s=s+k;

      printf("s=1+2+......+%ld=%ld/n",n,s);

     }

运行程序,输入n=2007,得

s=1+2+......+2007=2015028

2.求s=1+3+6+10+...(和式中的第k项为它的前一项加上k)的前100项之和.

解:和式中各项的构成规律明确,但各项的通项公式并不明确。因而在求和的k循环中要先行应用t=t+k求出第k项t,然后用s=s+t实现求和累加。

#include<stdio.h>

void main()

{

long k,n,t,s;

t=0;

s=0;

printf("input n: ");

scanf("%ld",&n);

for(k=1;k<=n;k++)

     {  t=t+k;                                /*计算第k项t*/

      s=s+t;  }                            /*把第k项t累加到和s*/

printf("s=1+3+6+....+%ld=%ld/n",t,s);

}

 运行程序,输入n=100,得

s=1+3+6+.......+5050=171700

3.试求所有能被7整除且3个数字之和能被7整除的3位数之和。

解:所求的3位数的通项并不明显,通常在穷举3位数的循环中,应用分支语句对所有3位数进行筛选,满足条件的实施累加求和。

#include<stdio.h>

void main()

{

     int s=0,m,a,b,c;
     for(a=1;a<=9;a++)
       {
       for( b=0;b<=9;b++)
        {
         for(c=0;c<=9;c++)
         {
          m=a*100+b*10+c;
          if(m%7==0&&(a+b+c)%7==0)
              s=s+m;
         }
       }
      }

       printf("s=%d",s);
    }  

 运行程序,得

s=9891 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值