问题标题: 酷町堂:5068

0
0
曹砚青
曹砚青
中级光能
中级光能

5068   最大的乘积

经验值:0 时间限制:1000毫秒

题目描述 Description

image.png
将1–6填入上面6个空中,每个数只能用一次,使得乘积最大。输出这个最大的乘积。

输入描述 Input Description

输出描述 Output Description

输出四个数字,分别表示填入的一位数、两位数、三位数、得到的积

样例输入 Sample Input

样例输出 Sample Output

(隐藏)


0
0
0
赵宇晨
赵宇晨
高级守护
高级守护

cout<<"6 52 431 134472";

  • #include<iostream> #include<cmath> #include<iomanip> #include<algorithm> #include<cstdio> #include<string> #include<cstring> using namespace std; int a[10],x,y,z,maxn; void Num(int x) { while(x) { a[x%10]++; x/=10; } } bool Judge() { for(int i=1;i<=6;i++) { if(a[i]!=1) return 0; } return 1; } int main() { for(int i=1;i<=6;i++) { for(int j=12;j<=65;j++) { for(int k=123;k<=654;k++) { memset(a,0,sizeof(a)); Num(i); Num(j); Num(k); if(Judge()) { int tmp=i*j*k; if(tmp>maxn) { maxn=tmp; x=i,y=j,z=k; } } } } } cout<<x<<" "<<y<<" "<<z<<" "<<maxn; return 0; }
0
我要回答