洛谷 P1008三连击 & P1618三连击(升级版)

来源:互联网 发布:python list range 编辑:程序博客网 时间:2024/04/28 04:57
其实就是111~999枚举啦,没什么技术含量。。。

洛谷 三连击

#include<iostream>#include<cstdio>using namespace std;int main(){    int a,b,c,num;    for(num=100;num<=333;num++){        a=num;b=2*num;c=3*num;        if((a/100+a/10%10+a%10+b/100+b/10%10+b%10+c/100+c/10%10+c%10==45)&&((a/100)*(a/10%10)*(a%10)*(b/100)*(b/10%10)*(b%10)*(c/100)*(c/10%10)*(c%10)==362880)){            cout<<a<<" "<<b<<" "<<c<<endl;        }    }    return 0;} 




额,其实这个题只有一个测试数据。如果你是数学组的,计算能力超强,大可以使用这种方法。秒出答案!

你是为了提高自己编程能力而编程序,不是为了AC而编程序!

#include<iostream>#include<cstdio>using namespace std;int main(){        cout<<"192 384 576"<<endl;        cout<<"219 438 657"<<endl;        cout<<"273 546 819"<<endl;        cout<<"327 654 981"<<endl;    return 0;} 


洛谷 P1618 三连击(升级版)


#include<iostream>#include<cstdio>using namespace std;int main(){    int a,b,c,num,i1,i2,i3,flag=0;    cin>>i1>>i2>>i3;    for(num=1;num<=999;num++){        a=i1*num;b=i2*num;c=i3*num;        //if(a>999 || b>999 ||c>999) continue;        if((a/100+a/10%10+a%10+b/100+b/10%10+b%10+c/100+c/10%10+c%10==45)&&((a/100)*(a/10%10)*(a%10)*(b/100)*(b/10%10)*(b%10)*(c/100)*(c/10%10)*(c%10)==362880)){            cout<<a<<" "<<b<<" "<<c<<endl;            flag=1;        }        }    if(flag==0){        cout<<"No!!!";    }    return 0;    } 

1 0
原创粉丝点击