• 周日. 5月 26th, 2024

5G编程聚合网

5G时代下一个聚合的编程学习网

热门标签

洛谷-三连击(升级版)-BOSS战-入门综合练习1

admin

11月 28, 2021

题目描述 Description

将1,2,…,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成A:B:C的比例,试求出所有满足条件的三个三位数,若无解,输出“No!!!”。
 输入输出格式 Input/output
输入格式:
三个数,A B C。
输出格式:
若干行,每行3个数字。按照每行第一个数字升序排列。
 输入输出样例 Sample input/output
样例测试点#1
输入样例:
1 2 3
输出样例:
 

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

说明 description
保证A<B<C
思路:从(1~1000/c)循环,然后按比例赋值,每一位数放入一个数组的每一位,判断有多少个数字被用过了,如果有9个(也就是刚好用完),输出即可
提示:记得判断按比例赋值后是否超过了1000,超过了跳出即可
代码如下:
 1 #include<iostream>  
 2 using namespace std;  
 3 int main()  
 4 {  
 5     int a,b,c,x[9],a1,a2,a3;  
 6     int y=0,ans=0,flag[10]={0},i,j;    //用flag统计数字是否用过  
 7     cin>>a1>>a2>>a3;    //输入    
 8     for(j=1;j<=1000/a3;j++)  
 9     {  
10         y=0;  
11         for(i=0;i<9;i++)  
12             flag[i]=0;    //全归0  
13         a=a1*j;  
14         b=a2*j;    //按比例赋值  
15         c=a3*j;      
16         if(a>=1000||b>1000||c>1000)  
17             break;    //超出范围的情况  
18         /*=================================*/
19         x[0]=a/100; 
20         x[1]=(a/10)%10;
21         x[2]=a%10;  
22         x[3]=b/100;          
23         x[4]=(b/10)%10;        //把每一位数放入数组中 
24         x[5]=b%10;    
25         x[6]=c/100;
26         x[7]=(c/10)%10;
27         x[8]=c%10;  
28         /*=================================*/
29         for(i=0;i<9;i++)  
30             flag[x[i]-1]=1;    //统计用过的数(用过就变成1) 
31         for(i=0;i<9;i++)  
32             y+=flag[i];   //统计用过多少个  
33         if(y==9)    //如果y=9的话,就代表所有数都用过,输出  
34         {  
35             cout<<a<<" "<<b<<" "<<c<<endl;  
36             ans++;    //有满足的a b c,ans就不等于0  
37         }  
38     }  
39     if(!ans)   //没有满足的,输出No!!!  
40         cout<<"No!!!";  
41 }  

《洛谷-三连击(升级版)-BOSS战-入门综合练习1》有5个想法
  1. Wow, marvelous weblog format! How long have you ever been blogging
    for? you make running a blog glance easy. The full look of your site is
    fantastic, let alone the content! You can see similar here sklep online

  2. You’re so awesome! I don’t suppose I have read through something like that before.
    So great to find someone with unique thoughts on this subject matter.
    Really.. many thanks for starting this up. This website is one
    thing that is needed on the web, someone with some originality!
    I saw similar here: Dobry sklep

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注