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

4 算法1-3 三连击(升级版)

题目描述

将 1,2,…,9 共 9 个数分成三组,分别组成三个三位数,且使这三个三位数的比例是 A:B:C,试求出所有满足条件的三个三位数,若无解,输出 No!!!

输入格式

三个数,A,B,C。

输出格式

若干行,每行 3 个数字。按照每行第一个数字升序排列。

输入输出样例

输入 #1

1 2 3

输出 #1

192 384 576
219 438 657
273 546 819
327 654 981

说明/提示

保证 A<B<C。

 

#include<iostream>
using namespace std;

int a, b, c;
int n1, n2, n3, arr[10], flag, cnt;

int main()
{
	cin>>a>>b>>c;
	
	for(int num=1; num<=1000/c; num++) //num是“单位数” 
	{                                 
		n1 = num * a;
		n2 = num * b;
		n3 = num * c;
		
		//统计1-9每个数字出现的次数 
		for(int i=1; i<=3; ++i)
		{
			arr[n1%10]++;
			n1 = n1 / 10;
		}
		for(int i=1; i<=3; ++i)
		{
			arr[n2%10]++;
			n2 = n2 / 10;
		}
		for(int i=1; i<=3; ++i)
		{
			arr[n3%10]++;
			n3 = n3 / 10;
		}
		
		for(int i=1; i<=9; ++i)
		{
			if(arr[i] != 1)  //如果有数字不是只出现一次 
			{
				flag = 1;
				break;
			}
		}
		
		if(!flag)
		{
			cout<<num*a<<" "<<num*b<<" "<<num*c<<endl;
			cnt++;
		}
		else flag = 0;
		
		for(int i=1; i<=9; ++i)  //每找完一组数就清零 
		{
			arr[i] = 0;  
		}   		 
	} 
	
	if(!cnt)  cout<<"No!!!";
	
	return 0;
}

相关文章:

  • 《机器学习数学基础》补充资料:欧几里得空间的推广
  • 模电学习资料汇总
  • 力扣-贪心-452 用最小数量的箭引爆气球
  • ViT 模型介绍(二)——模型架构
  • 第4章 4.4 EF Core数据库迁移 Add-Migration UpDate-Database
  • Vue.js组件开发:从基础到进阶
  • 【LeetCode18】四数之和
  • 【论文学习】基于规模化Transformer模型的低比特率高质量语音编码
  • python与C系列语言的差异总结(1)
  • 玩机日记 10 fnOS 开启文件传输服务挂载到手机/电脑,测试传输性能
  • 设置 C++ 开发环境
  • 无数字字母rce总结(取反、异或、自增)
  • 计算机视觉算法实战——产品分拣(主页有源码)
  • 1.适配器模式
  • Deepseek AI模型 快速入门(详细版)
  • YOLO11的单独推理程序
  • POST请求提交数据的三种方式及通过Postman实现
  • Python Matplotlib图形美化指南
  • 蓝桥杯备赛-精卫填海-DP
  • 2024年第十五届蓝桥杯青少 图形化编程(Scratch)省赛中级组真题——截取递增数
  • 有关“普泽会”,俄官方表示:有可能
  • 气急败坏!20多名台湾艺人被台当局列为“重点核查对象”
  • 当智慧农场遇见绿色工厂:百事如何用科技留住春天的味道?
  • 幼儿园教师拍打孩子额头,新疆库尔勒教育局:涉事教师已被辞退
  • 探秘多维魅力,长江经济带、珠三角媒体总编辑岳阳行启动
  • 大环线呼之欲出,“金三角”跑起来了