ACM常见题型个人解法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

求最值

时间限制(普通/Java) : 1000 MS/3000 MS运行内存限制: 65536 KByte

总提交: 9915 测试通过: 2804

比赛描述

给定N个整数(1<=N<=100),求出这N个数中的最大值,最小值。

输入

多组数据,第一行为一个整数N,第二行为N个不超过100的正整数,用空格隔开。

输出

对每组数据输出一行,包含两个整数,用一个空格隔开,分别表示N个数中的最大值和最小值

样例输入

5

4 6 7 3 1

4

4 3

5 1

样例输出

7 1

5 1

#include

int main()

{

int str[101];

int i,n;

for(;scanf("%d",&n)==1;)

{

int max=-1;

int min=101;

if(0<=n&&n<=100)

{

for(i=0;i

{

scanf("%d",&str[i]);

max=max>str[i]?max:str[i];

min=min

}

}

printf("%d %d\n",max,min);

}

return 0;

}

斐波那契数列

时间限制(普通/Java) : 1000 MS/10000 MS运行内存限制: 65536 KByte

总提交: 6917 测试通过: 2394

比赛描述

在数学上,斐波那契数列(Fibonacci Sequence),是以递归的方法来定义:

F

= 0

= 1

F

1

F n = F n - 1 + F n - 2

用文字来说,就是斐波那契数列由0和1开始,之后的斐波那契数就由之前的两数相加。首几个斐波那契数是:

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597, 2584, 4181, 6765, 10946,………………

特别指出:0不是第一项,而是第零项。

在西方,最先研究这个数列的人是比萨的列奥纳多(又名斐波那契),他描述兔子生长的数目时用上了这数列。

⏹ 第一个月有一对刚诞生的兔子

⏹ 第两个月之后它们可以生育

⏹ 每月每对可生育的兔子会诞生下一对新兔子

⏹ 兔子永不死去

假设在n 月有新生及可生育的兔子总共a 对,n+1月就总共有b 对。在n+2月必定总共有a+b 对:因为在n+2月的时候,所有在n 月就已存在的a 对兔子皆已可以生育并诞下a 对后代;同时在前一月(n+1月)之b 对兔子中,在当月属于新诞生的兔子尚不能生育。

现请以较短的时间,求出斐波那契数列第n 项数值,0≤n ≤40。

输入

斐波那契数列项数n ,0≤n ≤40。

输出

斐波那契数列第n项数值

样例输入

4

样例输出

3

#include

const int n=40;

int main()

{

int i,m;int str[n];

str[0]=0;str[1]=1;

scanf("%d",&m);

switch(m)

{

case 0:printf("%d",str[0]);break;

case 1:printf("%d",str[1]);break;

default:

for(i=2;i<=m;i++)

{

str[i]=str[i-1]+str[i-2];

}

printf("%d\n",str[m]);

}

return 0;

}

完美立方

时间限制(普通/Java) : 1000 MS/3000 MS运行内存限制: 65536 KByte

总提交: 5492 测试通过: 1440

比赛描述

a3 = b3 + c3 + d3为完美立方等式。例如123 = 63 + 83 + 103。编写一个程序,对任给的正整数N (N≤100),寻找所有的四元组(a, b, c, d),使得a3 = b3 + c3 + d3,其中1

输入

正整数N (N≤100)

输出

每行输出一个完美立方,按照a的值,从小到大依次输出。当两个完美立方等式中a的值相同,则依次按照b、c、d进行非降升序排列输出,即b值小的先输出、然后c值小的先输出、然后d值小的先输出。

样例输入

24

样例输出

Cube = 6, Triple = (3,4,5)

Cube = 12, Triple = (6,8,10)

Cube = 18, Triple = (2,12,16)

Cube = 18, Triple = (9,12,15)

Cube = 19, Triple = (3,10,18)

Cube = 20, Triple = (7,14,17)

Cube = 24, Triple = (12,16,20)

#include

#include

void Cube(int n);

相关文档
最新文档