华师一附中OI组

标题: P1008 三连击 [打印本页]

作者: vc_vitamine    时间: 2018-6-11 10:33
标题: P1008 三连击
https://www.luogu.org/problemnew/show/P1008
本题为提交答案题,您可以写程序或手算在本机上算出答案后,直接提交答案文本,也可提交答案生成程序。

将 1,2,⋯,9 共9 个数分成 3 组,分别组成 3 个三位数,且使这 3 个三位数构成 1:2:3 的比例,试求出所有满足条件的 3 个三位数。

作者: 倚窗倾听风吹雨    时间: 2018-6-27 07:38
  1. #include<iostream>
  2. using namespace std;
  3. int a[10]= {},i,j,k,m,flag;
  4. int main()
  5. {
  6.     for(i=123; i<=329; i++)
  7.     {
  8.         flag=1;for(m=1; m<=9; m++)a[m]=0;
  9.         j=2*i;
  10.         k=3*i;
  11.         a[i/100]=i/100;
  12.         a[(i/10)%10]=(i/10)%10;
  13.         a[i%10]=i%10;
  14.         a[j/100]=j/100;
  15.         a[(j/10)%10]=(j/10)%10;
  16.         a[j%10]=j%10;
  17.         a[k/100]=k/100;
  18.         a[(k/10)%10]=(k/10)%10;
  19.         a[k%10]=k%10;
  20.         for(m=1; m<=9; m++)
  21.             if(a[m]==0)flag=0;
  22.         if(flag)
  23.             cout<<i<<" "<<j<<" "<<k<<endl;
  24.     }
  25.     return 0;
  26. }
复制代码

作者: admin    时间: 2018-7-1 20:32
  1. #include<iostream>
  2. using namespace std;
  3. int x,xx,xxx;
  4. int a[10],s[10],i;
  5. bool b;
  6. int main()
  7. {
  8.     for (x=100; x<=1000/3; x++)
  9.     {
  10.         xx=x+x;
  11.         xxx=xx+x;
  12.         a[1]=x/100;
  13.         a[2]=x/10%10;
  14.         a[3]=x%10;
  15.         a[4]=xx/100;
  16.         a[5]=xx/10%10;
  17.         a[6]=xx%10;
  18.         a[7]=xxx/100;
  19.         a[8]=xxx/10%10;
  20.         a[9]=xxx%10;
  21.         for (i=1; i<=9; i++) s[i]=1;
  22.         for (i=1; i<=9; i++) s[a[i]]--;
  23.         b=1;
  24.         for (i=1; i<=9; i++) if (s[i]!=0) b=0;
  25.         if (b) cout<<x<<' '<<xx<<' '<<xxx<<endl;

  26.     }

  27.     return 0;
  28. }
复制代码

作者: admin    时间: 2021-5-22 17:56
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. int x1,x2,x3,k,a[10],i,b;
  4. int main()
  5. {
  6.         for (x1=100; x1<=999/3; x1++)
  7.                 {
  8.                         x2=x1*2,x3=x1*3;
  9.                         b=1;
  10.                 for (i=1;i<=9;i++) a[i]=1;
  11.                 
  12.                         k=x1/100%10,a[k]=0;
  13.                 k=x1/10%10,a[k]=0;
  14.                 k=x1/1%10,a[k]=0;
  15.                        
  16.                         k=x2/100%10,a[k]=0;
  17.                 k=x2/10%10,a[k]=0;
  18.                 k=x2/1%10,a[k]=0;
  19.                        
  20.                         k=x3/100%10,a[k]=0;
  21.                 k=x3/10%10,a[k]=0;
  22.                 k=x3/1%10,a[k]=0;
  23.                        
  24.                         for (i=1;i<=9;i++) if (a[i]==1) b=0;
  25.                        
  26.                         if (b==1) cout<<x1<<' '<<x2<<' '<<x3<<endl;
  27.                 }
  28.         return 0;
  29. }
复制代码





欢迎光临 华师一附中OI组 (http://hsyit.cn/) Powered by Discuz! X3.2