URAL1222
题意:
把n拆分成几个数,把这些数乘起来最大。
思路:
3越多越好。
对4,5特判一下,4的时候是2*2大,5的时候还剩个2,那么就是n%3=1的话,我们先拿个4,n%3==2的话就是先拿个2,后面把有多少个3乘起来就好了;
#include <cstdio>
#include <iostream>
using namespace std;
#define maxn 3022
int n, step;
int ans[maxn];
int main()
{
scanf("%d", &n);
if(n==1)
{
printf("1\n");
return 0;
}
int num=1;
if(n%3==0){
ans[1]=1;
}
if(n%3==1){
ans[1]=4;
n-=4;
}
if(n%3==2){
ans[1]=2;
n-=2;
}
step=n/3;
for(int i=1;i<=step;++i)
{
for(int j=1;j<=num;++j)
ans[j]*=3;
for(int j=1;j<=num+1;++j)
{
ans[j+1]+=ans[j]/10;
ans[j]%=10;
}
int k=num;
while(ans[k+1]!=0)
++k;
num=k;
}
for(int i=num;i>=1;--i)
printf("%d",ans[i]);
printf("\n");
return 0;
}
URAL1222的更多相关文章
随机推荐
- compute the su procedure time with python
#!/usr/bin/python2.6 import re,datetime file_name='sim.log' file=open(file_name,'r') acnum=[];time_r ...
- SAM4E单片机之旅——12、USART
清楚了UART的用法之后,现在来研究一下USART的用法.和上一次差不多,这次也通过USART的串口来实现和PC的通信.和上一次不同的是,USART本身就有接收超时的功能,所以这次就不用TC了. US ...
- Requires: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
Error: Package: mysql-community-server-8.0.12-1.el7.x86_64 (mysql80-community) Requires: libstdc++.s ...
- Interpreter Pattern
1.Interpreter模式的目的就是提供一个一门定义语言的语法表示的解释器,然后通过这个解释器来解释语言中的句子. 2.Interpreter模式结构图 3.实现 #ifndef _CONTEXT ...
- 使用doctrine的内存耗尽解决办法
PHP Fatal error: Allowed memory size of xxx xxx xxx bytes exhausted 无论是插入大量数据或者查询大量数据时,都可能因为数据量太大而出现 ...
- Zookeeper实现负载均衡原理
先玩个正常的,好玩的socket编程: 服务端: 首先公共的这个Handler: package com.toov5.zkDubbo; import java.io.BufferedReader; i ...
- JavaScript中浮点数的保留小数位数的问题
方法一 简介:如题! 繁琐版... 代码如下: var significantFigure= function(value,figure){ var arr=(valu ...
- js程序开发-3
<h1>Date()类型</h1> 获取日期和时间 getDate() 获取日 1-31 getDay () 获取星期 0-6 getMonth () 获取月 0-11 get ...
- vue 表单验证省市县三联动
<el-col :span="24"> <el-form-item label="所在地区" prop="region" ...
- 合并多个cv::Mat类型,即合并多个图片的接口
1. cv::Mat get_merage_image(cv::Mat cur_frame) { cv::Mat image_one=cur_frame; cv::Mat image_two=cur_ ...