专栏文章

题解:P12163 [蓝桥杯 2025 省 C/Java A] 2025

P12163题解参与者 1已保存评论 0

文章操作

快速查看文章及其快照的属性,并进行相关操作。

当前评论
0 条
当前快照
1 份
快照标识符
@miplzg0j
此快照首次捕获于
2025/12/03 14:11
3 个月前
此快照最后确认于
2025/12/03 14:11
3 个月前
查看原文

洛谷P12163

题意

求 1∼20250412 中,有多少个数含有至少 1 个 0、2 个 2、1 个 5 的数。

思路分析

使用暴力枚举 1~20250412 之间的每一个数,将其数位分离,分离出每一个数,如:202250202250 分离为 115533222200,符合题目要求,所以 202250202250 是一个满足要求的数。所以将答案计数器 ansans 增加。最后将答案计数器ansans输出即可。

代码

代码仅供参考,抄题解可耻
CPP
#include <bits/stdc++.h>
using namespace std;
int ans, a0, a2, a5;//存储各数字数量

int main() {
	for (int i = 1; i <= 20250412; i++) {//枚举1~20250412之间的每一个数
		int a = i;
		while (a) {//数位分离
			int h = a % 10;
			a /= 10;
			if (h == 0) {
				a0++;
			}
			if (h == 2) {
				a2++;
			}
			if (h == 5) {
				a5++;
			}//增加计数器
		}
		if (a0 >= 1 && a2 >= 2 && a5 >= 1) {
			ans++;
		}//判断是否满足要求
		a0 = a2 = a5 = 0;//清空计数器
	}
	cout << ans;//输出
	return 0;
}
CPP
#include <bits/stdc++.h>
using namespace std;

int main() {
	cout <<506754;//直接输出答案
	return 0;
}

评论

0 条评论,欢迎与作者交流。

正在加载评论...