• 2024-11-19洛谷:P1008 [NOIP1998 普及组] 三连击
    这道题需要我们找出所有符合要求的数对,由于数据量不大,这里我们可以使用枚举的方法进行枚举,那么我们从最小的三位数100到最大数999进行遍历寻找,再对这三个数进行判断,判断这三个数的每一位是否由1-9这9个数组成,且每个数只出现一次。在判断这个地方我们可以用一个数组来进行计数,将
  • 2024-05-20CSP历年复赛题-P1008 [NOIP1998 普及组] 三连击
    原题链接:https://www.luogu.com.cn/problem/P1008题意解读:将 1,2,…,9共 9个数分成3组,分别组成3个三位数,且使这 3 个三位数构成 1:2:3的比例,枚举所有的组合即可。解题思路:设定三个数a、b、c枚举a,最小123,最大987b=a*2,c=a*3判断b、c是否是三位数,且a、b、c中所
  • 2024-04-02洛谷 P1008 [NOIP1998 普及组] 三连击
    这道题我们可以用桶排序来做,代码如下:#include<bits/stdc++.h>//万能头 usingnamespacestd;//好习惯 inta[10];//一个桶数组,来确定是否有重复的 intmain(){   ints1,s2,s3;//定三个函数,用于判断    intsum=0;//用于判断数字是否重复    for(int
  • 2023-07-25题解 P1008 【三连击】
    postedon2020-11-1217:25:10|under题解|source2023编者注:请尊重历史。本题正解是暴力枚举先引用我们老师的一句话:(无恶意)不会吧不会吧,不会还有人不会写三连击吧!废话不多说,开始解题:理解题目和做题思路P1008三连击题目链接:https://www.luogu.com.cn/problem/
  • 2023-05-31Luogu P1008 三连击
    题目描述link思路因为\(1-9\)且不能重复使用,所以从\(123\)循环至\(789\),相应的\(2\)倍,\(3\)倍,即为另两个数字.对每个数字进行拆分,所用数字使用次数\(+1\),判断是否每个数字都被使用且只使用一次,输出即可.Code#include<cstdio>#include<cstring>i
  • 2023-04-11w2 P1008 [NOIP1998 普及组] 三连击
      主要思路:构造一个judge函数,判断是否1-9都出现了。由于三位数范围为123-987,但因为要求三个数字比例为1:2:3,所以在遍历时的范围是123-987/3。遍历范围内的每一个整数x,并判断2x,3x是否满足judge函数,满足则输出这三个数,否则继续遍历。代码如下:#include<iostream>usingnamespac
  • 2023-01-21P1008 [NOIP1998 普及组] 三连击
    置顶题解暴力,加简化的判断,数学原理,2个集合内所有数相加相乘结果一样,2个集合的内容一样(没错我自己编得,灵感并不是我自己的,感谢帮我的大大)置顶的题解中的数学原理应该是
  • 2022-08-21P1008 [NOIP1998 普及组] 三连击
    P1008[NOIP1998普及组]三连击 题目描述:将1,2,…,9共9个数分成3组,分别组成3个三位数,且使这3个三位数构成1:2:3的比例,试求出所有满足条件的3个三位数。这道
  • 2022-08-14P1008 [NOIP1998 普及组] 三连击
    P1008[NOIP1998普及组]三连击分析:根据题意,有1-9这9个数要分成三组组成三个三位数,意味着这9个数只能出现一次,且三个三位数的比例为1:2:3,由此可以得知这三个数中最小的那
  • 2022-08-14P1008 [NOIP1998 普及组] 三连击
    #include<bits/stdc++.h>usingnamespacestd;intmain(){ for(inta=123,b,c;a<=329;a++) { b=2*a;c=3*a; if((a%10)*(a/10%10)*(a/100)*(b%10)*(b/10%10)*(b/100)*(c%1
  • 2022-08-14P1008 [NOIP1998 普及组] 三连击
    试题分析:将1到9九个数分成3组,分别组成3个三位数,且使这3个三位数构成1:2:3的比例,数值较小,所以暴力枚举算法分析:因为4*3=12,超过了10,所以百位的数最多为3,因为1到9每个