http://acm.hdu.edu.cn/contests/contest_showproblem.php?pid=1005&cid=832

Problem Description

In the world line 1.048596%

梓川咲太的面前坐着野兔先辈,作为约定,只好乖乖的打开笔记本开始学习了。

“加法符号写歪了,变成了乘法符号,在算式的第三行那个地方。”樱岛麻衣突然开口。

心领神会的梓川咲太立刻发现自己正在写的题目的错误,乖乖的改正了以后却心不在焉。

毕竟,梓川咲太的眼神却很不老实,毕竟,眼前坐着野兔先辈。

“咲太,假设我给你一个正整数n,你是不是可以把它用许多不同的整数(包括它自己)去减然后把n变成0?”

樱岛麻衣开始穿上披风。

这是生气的前兆,即将没了眼福的梓川咲太只能不停的点了点头。

“那行,一个正整数n的做减法的操作过程也有很多种,比如说6就能变成6-6=0,6-1-5=0和6-2-4=0,对吧。但是不能变成6-3-3=0,因为3重复了。”

樱岛麻衣用漂亮的字体在笔记本上书写。

“当然写成6=6,6=1+5,6=2+4更好,相当于这些正整数构成一个序列{a1,a2,...,an}满足(Σai = N),(n >= 1),且这些正整数互不相同。”

“那么刚刚的例子就是{6},{1,5},{2,4}这样。”

“有没有想过把这些序列的数字乘起来呢?就像加法符号变成乘法一样,结果就是6,1x5,2x4这样......“

”就把这样操作后的结果称为M吧,对于一个正整数n,不同的拆分能得出不同的M,但M也是有最大值和最小值的。比如说刚刚那个例子,M的最大值是8,最小值是5。”

此时的梓川咲太还不知道即将到来的地狱。

“你刚刚的眼神这么不老实,大概看了几十下了吧。我就大发慈悲的写一些数字,你给我马上写出每个数字经过操作以后得出来的M的最小值和最大值。”

“不把这些写完,今晚不让你睡哦。”

麻衣打开的笔记本上密密麻麻的排列着许多数字,野兔先辈的代价实在是太大了,不过约定就是约定......

Input

第一行输入一个正整数T(T<=200),表示样例组数,接下去T行每行表示一组样例

每组样例,输入一个正整数N(1<=N<=200)

Output

输出总共T行,

每行输出两个整数,表示每个数字经过操作以后得出的数字M的最小值和最大值,用一个空格隔开

Sample Input

 

2 3 6

Sample Output

 

2 3 5 8

C++版本一

/*
*@Author:   STZG
*@Language: C++
*/
#include <bits/stdc++.h>
#include<iostream>
#include<algorithm>
#include<cstdlib>
#include<cstring>
#include<cstdio>
#include<string>
#include<vector>
#include<bitset>
#include<queue>
#include<deque>
#include<stack>
#include<cmath>
#include<list>
#include<map>
#include<set>
//#define DEBUGusing namespace std;
typedef long long ll;
const int N=200+10;
const double PI = acos(-1.0);
const double EXP = 1E-8;
const int INF = 0x3f3f3f3f;
int t,n,m;
int main()
{
#ifdef DEBUGfreopen("input.in", "r", stdin);//freopen("output.out", "w", stdout);
#endifscanf("%d",&t);while(t--){scanf("%d",&n);if(n==1||n==2){cout << n <<" "<<n<< endl;continue;}int j,i=2;int sum=0;while(sum+i<=n){sum+=i;i++;}int w=i-1;int m = n-sum;ll ans=1;if(m==w){  //若剩余值(n-sum)等于wfor(int j=2;j<=i-2;j++){ans*=j+1;}ans*=i+1;}else{       //若剩余值(n-sum)小于wfor(int j=2;j<w-m+1;j++) ans*=j;for(j=w-m+1;j<=i-1;j++) ans*=j+1;}cout << n-1 <<" "<<ans<< endl;}//cout << "Hello world!" << endl;return 0;
}

C++版本二

https://www.cnblogs.com/MingSD/p/10050324.html

爆搜找规律。

爆搜代码:

#include<bits/stdc++.h>
using namespace std;
#define Fopen freopen("_in.txt","r",stdin); freopen("_out.txt","w",stdout);
#define LL long long
#define ULL unsigned LL
#define fi first
#define se second
#define pb push_back
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define lch(x) tr[x].son[0]
#define rch(x) tr[x].son[1]
#define max3(a,b,c) max(a,max(b,c))
#define min3(a,b,c) min(a,min(b,c))
typedef pair<int,int> pll;
const int inf = 0x3f3f3f3f;
const LL INF = 0x3f3f3f3f3f3f3f3f;
const LL mod =  (int)1e9+7;
const int N = 5e5 + 100;
int sta[N];
int Max, gg;
void dfs(int b, int l, int lt, int cnt){if(lt == 0){Max = max(Max, l);if(gg == l){for(int i = 1; i < cnt; ++i)cout << sta[i] << ' ';cout << endl;}}for(int i = b; i <= lt; ++i){sta[cnt] = i;dfs(i+1, l*i, lt-i, cnt+1);}
}
int main(){int n;while(cin >> n){gg = -1;Max = 0;dfs(1, 1, n, 1);gg = Max;dfs(1, 1, n, 1);}return 0;
}
#include<bits/stdc++.h>
using namespace std;
#define Fopen freopen("_in.txt","r",stdin); freopen("_out.txt","w",stdout);
#define LL long long
#define ULL unsigned LL
#define fi first
#define se second
#define pb push_back
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define lch(x) tr[x].son[0]
#define rch(x) tr[x].son[1]
#define max3(a,b,c) max(a,max(b,c))
#define min3(a,b,c) min(a,min(b,c))
typedef pair<int,int> pll;
const int inf = 0x3f3f3f3f;
const LL INF = 0x3f3f3f3f3f3f3f3f;
const LL mod =  (int)1e9+7;
const int N = 1e5 + 100;
LL Min[N], Max[N];
vector<int> v;
void init(){v.pb(2); v.pb(3);for(int i = 6; i <= 200; ++i){int t = v.size();if(v[0] != 2 && v[t-1] == v[t-2]+1)++v[t-1];else if(v[0] != 2){--v[t-1];v.insert(v.begin(), 2);}else {int f = 1;for(int i = t-2; i >= 0; i--){if(v[i]+1 != v[i+1]){++v[i];f = 0;break;}}if(f) ++v[t-1];}Min[i] = i-1;Max[i] = 1;for(int x : v){Max[i] *= x;}}
}
vector<int> vc;
int main(){int T, n;scanf("%d", &T);init();Min[1] = Max[1] = 1;Min[2] = Max[2] = 2;Min[3] = 2; Max[3] = 3;Min[4] = 3; Max[4] = 4;Min[5] = 4; Max[5] = 6;while(T--){scanf("%d", &n);printf("%lld %lld\n", Min[n], Max[n]);}return 0;
}

把所有的谎言献给你β相关推荐

  1. 把所有的谎言献给你β(找规律数学题)

    链接题意: 梓川咲太的面前坐着野兔先辈,作为约定,只好乖乖的打开笔记本开始学习了. "加法符号写歪了,变成了乘法符号,在算式的第三行那个地方."樱岛麻衣突然开口. 心领神会的梓川咲 ...

  2. Test on 12/01/2018

    出了一道原题,我明确地知道这道题在哪,但我没写,也不会写,真是自闭. 以后在考场上出现这种题,我就,我就不买衣服,不喝奶茶一个月.说到做到! 题目出得真的很跳戏,不过我喜欢. 把所有的谎言献给你β D ...

  3. bigdecimal为0 xml不走_爱情不能够接受谎言的星座,天蝎座容忍度为0,发现将失去彼此...

    第一位:摩羯座 摩羯座在为人处事,与自己的感情生活方面摩羯座向来都喜欢直来直往.似乎摩羯座的人在现实生活中的朋友或者是在身边的人都是直来直往的,摩羯座的人不喜欢说话慢慢吞吞拐弯抹角的人.这样的人也不可 ...

  4. 科技公司升职的谎言与真相

    今年疫情期间,湾区好几家公司取消了年中升职评审.好几个小伙伴很失望,准备了一两年,就打算这次提交升职申请,没想到取消了.深感遗憾. 本篇文章就来谈谈科技公司升职有哪些谎言,以及什么情况下能升职,甚至破 ...

  5. 漫画:产品经理的这些“谎言”,你一定中招过!!!

    来源:了不起的程序员(ID:great_developer) 产品经理对程序员说过的"谎言" 看看你有几句中招了 <新程序员001-003>全面上市,对话世界级大师,报 ...

  6. 所谓的创业分享,都是一堆骗人骗己的谎言?

    又到年底时光,目测一大波来自于各大领域成功人士的年度分享.年度鸡汤.年度总结又要侵占大大小小的新媒体.老媒体.例如一年成功融资5次的创业模范,公司多次死里逃生,生来彷徨;或者是某成功转型的媒体人,在企 ...

  7. 致力推广Vim的那个程序员走了,Vim之父:我要把9.0版献给他

    晓查 发自 凹非寺 量子位 | 公众号 QbitAI 任何Linux用户,几乎都无法绕开命令行,也绕不开Vim编辑器. 就在今天,Vim之父Bram Moolenaar传来了一个沉痛的消息:他的挚友. ...

  8. 献给新手的深度学习综述

    献给新手的深度学习综述 文章目录: 1. 引言 2. 相关研究 3. 最新进展 3.1 深度架构的演变 4. 深度学习方法 4.1 深度监督学习 4.2 深度无监督学习 4.3 深度强化学习 5. 深 ...

  9. 献给老师,我的编程之路

    CSDN教师节感恩专题活动--<编程之美>一书八位作者,讲述自己的编程之路上,老师给予自己的帮助和支持,藉此献给最最敬爱的老师们. 专题活动网址:http://subject.csdn.n ...

最新文章

  1. Android四种启动模式
  2. 用Flash MX 2004自制调色版和配色组件(一)
  3. TCP/IP协议中常用端口表
  4. NHibernate中的SchemaExport
  5. Java 8类型注释
  6. Mac zsh: command not found zsh 所有命令在终端失效
  7. 微博:将对“宣扬仇恨”行为进行界定,并开展专项整顿
  8. 02-05 Python库-time datetime
  9. 国庆通知:地球不爆炸,CSDN 不放假!
  10. ant design pro 实现审核图片盖章功能
  11. 浅谈图像识别技术原理与价值
  12. 生物信息百Jia软件(十三):clustalw
  13. PTA 1055 集体照 (25 分) C++实现
  14. 关于C++中Eigen库效率提升的思考
  15. JS 手机浏览器唤醒手机QQ
  16. 计算流体力学 有限体积法
  17. [转]如何度过硕士研究生阶段——浅谈硕士期间时间规划问题
  18. GenyMotion安装VB失败 解决方法 Intel HAXM安装错误
  19. COSCOI拥有知识产权的“Go East”角色在东南亚大受欢迎,为全球扩张铺平道路
  20. 计算机专科升研究生英语看什么书,2021考研必知:计算机备考八大禁忌_考研英语黄皮书...

热门文章

  1. php判断是否大写字母,PHP判断字符串由数字和大小写字母组成、长度至少6位
  2. oracle 12c 自动任务,Oracle job自动任务实用指南
  3. ios 秒数转化为时间_iOS UTC秒数时间戳和日期的相互转换【原创】
  4. buck电路matlab,buck变换器介绍_buck变换器matlab仿真
  5. 爬虫模拟登陆手机验证码_网络爬虫干货总结,这次比较全面!
  6. Map的Value值转换为List集合
  7. 类的加载顺序和静态代码块和匿名代码块的区别
  8. java将两个区间范围合并_Java如何将若干时间区间进行合并的方法步骤
  9. 复合火焰探测传感器_火灾探测器分类
  10. 脚本必须位于html的,js 前端第三剑客