码迷,mamicode.com
首页 > 其他好文 > 详细

洛谷-三连击-循环!循环!循环!

时间:2015-02-21 13:08:20      阅读:267      评论:0      收藏:0      [点我收藏+]

标签:

题目描述 Description
将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。
 输入输出格式 Input/output
输入格式:
木有输入
输出格式:
若干行,每行3个数字。按照每行第一个数字升序排列。
输入样例:
 
输出样例:

192 384 576
* * *
...
* * *
(输出被和谐了)

思路:从123到987循环,再对1~9的每个数进行扫描,对每三个数分别进行处理,存入数组,最后扫描一遍数组,如果满足1:2:3的条件,输出即可。

代码如下:

 1 #include<stdio.h>  
 2 int main()  
 3 {  
 4     int i,j,k,h,s;  
 5     int a[10];  
 6     for(i=123;i*3<=987;i++)//123~987循环  
 7     {  
 8         for(h=1;h<10;h++)//对每个数进行循环  
 9         {
10             a[h]=0;//清零  
11             /*================*///第一个数 
12             a[i/100]=1;//百位  
13             a[i/10%10]=1;//个位  
14             a[i%10]=1;//十位  
15             /*================*///第二个数 
16             j=i*2;  
17             a[j/100]=1;//百位    
18             a[j/10%10]=1;//个位   
19             a[j%10]=1;//十位   
20             /*================*///第三个数 
21             k=i*3;  
22             a[k/100]=1;//百位    
23             a[k/10%10]=1;//个位   
24             a[k%10]=1;//十位   
25             /*================*/ 
26         }                  
27         for(s=0,h=1;h<10;h++)  
28         { 
29             s=s+a[h];//加上数组中的数  
30             if(s==9)//满足1:2:3的条件  
31             printf("%d %d %d\n",i,j,k);  
32         }                
33     }  
34     return 0;  
35 }  

 

洛谷-三连击-循环!循环!循环!

标签:

原文地址:http://www.cnblogs.com/geek-007/p/4296925.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!