求输出1和n(包括n)之间的所有数字的和,这些数字可以被3和7除。

输出1和n(包括n)之间的所有数字的和,这些数字可以被3和7除。

例子:

输入100

输出210(21+42+63+84)

#include <stdio.h>
int main()
{
    int sum = 0,n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
        if(i%3==0 && i%7==0)
            sum += i;
    printf("%d",sum);
}

先求出有多少个能被21除,然后再用求和公式求出和


#include<stdio.h>

int main(){
    int n, i;
    scanf("%d",&n);
    i = n /21;
    printf("%d\n",21*(i*(i+1)/2));
}
#include <stdio.h>

int main(void) {
    int n;
    scanf("%d", &n);

    int sum = 0;
    for (int i = 1; i <= n; i++) {
        if (i % 3 == 0 || i % 7 == 0) {
            sum += i;
        }
    }

    printf("%d\n", sum);

    return 0;
}

望采纳。