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

其实就是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;
    
} 

  • 6
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值