• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
Niro Einteson
文可提笔安天下 武可上马定乾坤
博客园    首页    新随笔    联系   管理    订阅  订阅

P1008 三连击

P1008 三连击


题目背景
本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序。

题目描述
将1,2, \cdots ,91,2,⋯,9共99个数分成33组,分别组成33个三位数,且使这33个三位数构成1:2:31:2:3的比例,试求出所有满足条件的33个三位数。

输入格式
木有输入

输出格式
若干行,每行33个数字。按照每行第11个数字升序排列。

输入输出样例
输入
无
输出
192 384 576
* * *
...

* * *
(输出被和谐了)

数据实际上为
192 384 576
219 438 657
273 546 819
327 654 981

 

 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 bool book(bool data[9]){
 4     for(int i=1;i<=9;i++){
 5         if(data[i]==false)
 6             return false;
 7     }
 8     return true;
 9 }
10 void judge(bool data[9],int x){
11     while(x%10){
12         data[x%10]=true;
13         x=x/10;
14     }
15 }
16 int main()
17 {
18     /*思路:
19         1:1,2,3,4,5,6,7,8,9九个数都要用,且不能重复
20         2:组成三个数,比例为1:2:3
21         3:3*3 =9 所以第一个开始的数不会超过3:1<=i<=3
22         4:遍历下一层循环 j!=i;
23         5:在遍历下一层循环 k!=j,k!=i,
24         6:接着输出这个数的i*100+j*10+k 的,2倍,三倍
25         7:看是否是 数字1-9都有,
26     */
27     int datax;
28     for(int i=1;i<=3;i++){
29         for(int j=1;j<=9;j++){
30             if(j!=i){
31                 for(int k=1;k<=9;k++){
32                     if(k!=j&&k!=i){
33                         datax=i*100+j*10+k;//第一个数
34                         bool data[10]={false};
35                         judge(data,datax);
36                         judge(data,2*datax);//第二个数
37                         judge(data,3*datax);//第三个数
38                         if(book(data)){//判断1-9是不是全部倍标记,是则输出
39                             cout<<datax<<" "<<datax*2<<" "<<datax*3<<endl;
40                         }
41                     }
42                 }
43             }
44         }
45     }
46     return 0;
47 }

 

posted @ 2019-12-08 16:02  Nirogo  阅读(295)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3