洛谷P1618
|q天邊的風
|原創(chuàng)
#include<bits/stdc++.h>
using namespace std;
int main()
{
int A,B,C,flag=0;//首先是flag的使用颁湖,用flag標記很方便,它可以標記一個或多個數相味,也可以標記數組元素拾积,只要它能//粘上去的都能被標記。
int i1,i2,i3;
cin>>A>>B>>C;
for(int i=1; i<=999; i++)//其實999這個范圍還能被優(yōu)化的丰涉,但是一時半會我沒想出來拓巧。
{
i1=i*A;
i2=i*B;
i3=i*C;
if((i1/100+i1/10%10+i1%10+i2/100+i2/10%10+i2%10+i3/100+i3/10%10+i3%10==45)&&((i1/100)*(i1/10%10)*(i1%10)*(i2/100)*(i2/10%10)*(i2%10)*(i3/100)*(i3/10%10)*(i3%10)==362880))//這個判斷條件我以前真的沒接觸過過,我覺得一個程序的判斷條件完全可作為評判一個程序簡易好壞依據一死。這個就是根據如果n個數相加與相乘的結果與預期的值相等肛度,那么這n個數就是我們想要確定的這n個數。nice!
{
cout<<i1<<" "<<i2<<" "<<i3<<endl;//在cout中不加" "它是不會自己分配空格的,endl的作用是換行作用投慈。
flag=1;//用flag的目的就是以防程序找不到符合條件的數承耿,用if語句會太過冗余。flag就是優(yōu)化版的if伪煤。
}
}
if(flag==0){
cout<<"No!!!";
}
return 0;
}
//這個三連擊的程序總的來說還是比較簡潔了加袋,角度也比較獨特。