C++编程实现,计算100以内能够被3整除或者被7整除的数的和,并将和输出。急用,谢谢!!!

如题所述

用两个for循环单独计算能被3整除和能被7整除的整数之和,再减去能被3和7同时整除而重复累加的数,都要比判断能否被3或7整除来得高效。举例代码如下:

//#include "stdafx.h"//If the vc++6.0, with this line.
#include <iostream>
using namespace std;
int main(int argc,char *argv[]){
for(int sum,t=0,i=3;i<100;i+=3,t++);
sum=i*t/2;//能被3整除的求和
for(t=0,i=7;i<100;i+=7,t++);
sum+=i*t/2;//能被7整除的求和
for(t=0,i=21;i<100;i+=21,t++);//把既能被3也能被7整除的减去一个
cout << "The result is " << (sum-=i*t/2) << endl;
return 0;
}

结果如下:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-03-31
100以内能被3整除的数为[3、6、9、12、15、18、21、24、27、30、33、36、39、42、45、48、51、54、57、60、63、66、69、72、75、78、81、84、87、90、93、96、99],其和为[3+99]×16+51=1683;100以内能被7整除的数为[7、14、21、28、35、42、49、56、63、70、77、84、91、98],其和为[7+98]×7=735。
第2个回答  2014-06-04
#include<iostream>
using namespace std;
void main()
{
    int i,sum=0;
    for(i=1;i<=100;i++)
        if(i%3==0 || i%7==0)
            sum+=i;
    cout<<sum<<endl;
}

追问

亲,能不能在帮我做一个啊,感激不尽!!!
C++编程实现,从键盘上输入a和b的值,判断a和b的大小,如果a>b,则输出a2-b2,如果a<b,则输出b2-a2,

追答吃饭去了

#include<iostream>
using namespace std;
void main()
{
    int a,b;
    cin>>a>>b;
    if(a>b)
        cout<<a*a-b*b<<endl;
    else
        cout<<b*b-a*a<<endl;
}

本回答被提问者采纳
第3个回答  2017-07-01
int main()
{
int sum = 0;
for(int i=1;i<100;i++)
{
if((i%3==0)||(i%7==0))

sum +=i;

}
cout<<i<<endl;
return 0;
}
第4个回答  2017-06-20
int sum = 0;
for(int i =0; i< 100; i++)
{
    if(i % 3 == 0 || i % 7 == 0)
        sum = sum + i;
}
printf("%d", sum);

相似回答