列表

详情


OR82. 3和5的倍数

描述

如果我们列出10以内所有3或5的倍数,我们将得到3、5、6和9,这些数的和是23。求n以内所有3或5的倍数的和。

输入描述

输入n,n不超过2000

输出描述

输出n以内3或5倍数的和

示例1

输入:

10

输出:

23

原站题解

C 解法, 执行用时: 3ms, 内存消耗: 328KB, 提交时间: 2022-02-24

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

C++ 解法, 执行用时: 3ms, 内存消耗: 396KB, 提交时间: 2021-10-29

#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

int get(int n, int x) {
    if(x > n) return 0;
    int t = n/x;
    return (1+t)*t/2*x;
}

int main() {
    int n;
    cin >> n;
    int res = 0, d = 0;
    
    cout << get(n-1, 3) + get(n-1, 5) - get(n-1, 15) << endl;
    return 0;
}

上一题