[蓝桥杯2018初赛]倍数问题
时间: 2023-11-08 14:06:23 浏览: 77
题目描述
输入一个整数n,输出1~n中所有是3或5的倍数的数的和。
输入格式
一个整数n。
输出格式
一个整数,表示满足条件的数的和。
数据范围
1≤n≤10000
输入样例
16
输出样例
60
算法
(暴力枚举) $O(n)$
枚举1~n中每个数,如果是3或5的倍数则加入答案中。
时间复杂度
暴力枚举,时间复杂度 $O(n)$。
空间复杂度
只需要常数个变量,空间复杂度 $O(1)$。
Java 代码
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int sum = 0;
for (int i = 1; i <= n; i++) {
if (i % 3 == 0 || i % 5 == 0) {
sum += i;
}
}
System.out.println(sum);
}
}
Python 代码
n = int(input())
sum = 0
for i in range(1, n + 1):
if i % 3 == 0 or i % 5 == 0:
sum += i
print(sum)
C++ 代码
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int sum = 0;
for (int i = 1; i <= n; i++) {
if (i % 3 == 0 || i % 5 == 0) {
sum += i;
}
}
cout << sum << endl;
return 0;
}
阅读全文