本文主要是介绍5570. 幸运数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
如果一个整数能够被 66 或 88 整除,就称该整数为一个幸运数。
给定整数 n𝑛,请你计算 [1,n][1,𝑛] 范围内的幸运数的数量。
输入格式
一个整数 n𝑛。
输出格式
一个整数,表示 [1,n][1,𝑛] 范围内的幸运数的数量。
数据范围
前 33 个测试点满足 1≤n≤101≤𝑛≤10。
所有测试点满足 1≤n≤1001≤𝑛≤100。
import java.util.Scanner;public class Main {/*** 常规解法--暴力* @param args*/public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int sum = 0;//从1开始,确定遍历顺序for (int i = 1; i <= n; i++) {if (i % 6 == 0 || i % 8 == 0) {sum++;}}System.out.println(sum);}/*** 容斥原理 --> 解法*/public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();int ans = n / 6 + n / 8 - n / 24;// A并B = A + B - A 交 BSystem.out.println(ans);}
}
这篇关于5570. 幸运数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!