当前位置: 首页 > article >正文

【暴力枚举】P1618 三连击(升级版)

难度:普及-

算法:暴力枚举

C++代码
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define endl '\n'

const int N = 55;

int a,b,c,n1,n2,n3;
int st[N];
bool flag;
int ans;

signed main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	
	cin >> a >> b >> c;
	//暴力枚举 1 ~ 1000之内的所有的三位数 
	for(int num = 1; num <= 1000 / c; num ++){
		n1 = num * a;
		n2 = num * b;
		n3 = num * c;
		
		//判断是否满足条件
		//1.统计每位数是否出现次数 
		for(int i = 1; i <= 3; i++){
			st[n1 % 10] ++; 
			n1 /= 10;   
		} 
		for(int i = 1; i <= 3; i++){
			st[n2 % 10] ++;
			n2 /= 10;
		} 
		for(int i = 1; i <= 3; i++){
			st[n3 % 10] ++;
			n3 /= 10;
		}
		//2.判断每一位数是否都出现过,当且仅当仅出现过1次 
		for(int i = 1; i <= 9; i++)
		{
			if(st[i] != 1) {
				flag = true;
				break;
			}
		 } 
		 if(!flag) {
		 	cout << num * a << " " << num * b << " " << num * c << endl; 
		 	ans++;
		 }
		 //初始化 
		 flag = false;
		 memset(st,0,sizeof st);
	}
	if(!ans) cout << "No!!!" << endl; 

	return 0;
} 


http://www.kler.cn/a/571293.html

相关文章:

  • Mac远程桌面软件哪个好用?
  • conda环境管理 kernel注册到jupyter notebook
  • C++20中的std::format
  • Python-测试代码
  • 利用Adobe Acrobat 实现PPT中图片分辨率的提升
  • 4G工业路由器在公交充电桩中的应用与优势
  • Android U 分屏——SystemUI侧处理
  • 蓝桥杯---归并排序2(leetcode170)题解
  • 石基大商:OceanBase + Flink CDC,搭建连锁零售系统数据湖
  • CentOS7 安装Redis 6.2.6 详细教程
  • 队列的顺序结构—循环队列的判断条件(rear + 1) % MAXSIZE分析
  • flowable的使用
  • 使用Windbg分析dump文件定位软件异常的方法与操作步骤
  • 【Python 数据结构 5.栈】
  • day51 shell
  • 交叉编译 ARM 架构浏览器(补充)
  • 某金融租赁公司数据治理实践
  • R JSON 文件
  • Geotools中获取Shapefile的属性表格字符集编码的一种方法
  • VS2015 c++和cmake配置编程