low逼的我也只能写这样的水题。。。

题面

对于一个整数,定义 f(x)为他的每个数位的阶乘的乘积。例如 f(135)=1! * 3! * 5! =720。给出一个数 a(可以包含前缀零),a 满足他的至少一个数位大于 1。我们要求出最大 的整数 x,其中 x 不含 0 或 1,并且满足 f(a) = f(x)。

【输入】

第一行一个整数 n,表示 a 的长度。 接下来一个整数 a。

【输出】

一行一个整数 x 表示答案。

【输入样例 1】

4

1234

【输出样例 1】

33222

【样例 1 说明】

1! * 2! * 3! * 4! = 3! * 3! * 2! * 2! * 2!

分析

算了吧,你看着我无比整齐的代码会明白的

emm,以下官方正解

统计出质数 2、3、5、7 作为因子出现了多少次。

我们 claim 最后的答案一定由这四个数字构成。(比如考虑 8,还不如 7222)。

我们看看可以放几个 7,能放几个放几个,然后我们就没有 7 了。

我们看看可以放几个 5,能放几个放几个,然后我们就没有 5 了。

我们看看可以放几个 3,能放几个放几个,然后我们就没有 3 了。

最后再把剩下的 2 全放上去。

关于考试时的思路

亲测9!=7!*3!*3!*2!

8!=7!*2!*2!*2!

。。。

以此类推9个数而已3分钟就推完了

反正宁愿要多位数不要大的个位数

哪那么多废话

拆了

然后就只剩2,3,5,7开始拼凑(这和你拆的时候是个反向过程)

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int a[10010],b[1001],n,c[100100],cnt=0;
int main(){ scanf("%d",&n);
for(int i=1;i<=n;i++){
char x;
cin>>x;
a[i]=x-'0';
if(a[i]==2){b[2]++;}
if(a[i]==3){b[2]++;b[3]++;}
if(a[i]==4){b[2]+=3;b[3]++;}
if(a[i]==5){b[2]+=3;b[3]++;b[5]++;}
if(a[i]==6){b[2]+=4;b[3]+=2;b[5]++;}
if(a[i]==7){b[2]+=4;b[3]+=2;b[5]++;b[7]++;}
if(a[i]==8){b[2]+=7;b[3]+=2;b[5]++;b[7]++;}
if(a[i]==9){b[2]+=7;b[3]+=4;b[5]++;b[7]++;}
}
for(int i=7;i>=2;i--){
while(b[i]>0){
c[++cnt]=i;
if(i==2){b[2]--;}
if(i==3){b[2]--;b[3]--;}
if(i==4){b[2]-=3;b[3]--;}
if(i==5){b[2]-=3;b[3]--;b[5]--;}
if(i==6){b[2]-=4;b[3]-=2;b[5]--;}
if(i==7){b[2]-=4;b[3]-=2;b[5]--;b[7]--;}
}
}
for(int i=1;i<=cnt;i++)
printf("%d",c[i]);
return 0;
}

最新文章

  1. WPF之Binding
  2. Java设计模式 - 观察者模式
  3. Thymeleaf 常用属性
  4. Mac下android_sdk配置环境变量
  5. SPOJ 375. Query on a tree (树链剖分)
  6. cvCreateImage函数说明(转载)
  7. C4D to Unity3D插件C2U Tool开源发布!简化你的工作流
  8. Ubuntu 12.04搭建MTK 6577 安卓开发环境
  9. 【错误】:MySql Host is blocked because of many connection errors; unblock with &#39;mysqladmin flush-hosts&#39;
  10. 附加导航(Affix)行为
  11. RAID级别与规范
  12. C#应用Newtonsoft.Json.dll,控制json的时间格式
  13. 解析库-beautifulsoup模块
  14. 《你不知道的javascript》读书笔记2
  15. 64位Windows的Dos中取消了edit命令
  16. (原)lua及torch中的type
  17. Types方法之isSameType-isSuperType-isSubType
  18. hdu4347The Closest M Points kdtree
  19. Asp.net 使用Neatupload 第三方控件上传大文件,在IIS7上无法正常工作解决
  20. Python 学习笔记之——用 sklearn 对数据进行预处理

热门文章

  1. HTML5零散知识点总结
  2. 时间比较方法DateTime.Compare
  3. Git&amp;GitHub-初步使用
  4. 简易坦克大战python版
  5. pt-query-digest慢日志分析工具
  6. JSP/Servlet开发——第七章 Servel基础
  7. Web Services简单介绍
  8. 用Jquery控制元素的上下移动 实现排序功能
  9. sqlserver 导出数据库表结构
  10. js加载等待效果