hdu2011多项式求和
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2011
问题描述:
多项式的描述如下:
1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + …
现在请你求出该多项式的前n项的和。
Input
输入数据由2行组成,首先是一个正整数m(m<100),表示测试实例的个数,第二行包含m个正整数,对于每一个整数(不妨设为n,n<1000),求该多项式的前n项的和。
Output
对于每个测试实例n,要求输出多项式前n项的和。每个测试实例的输出占一行,结果保留2位小数。
Sample Input
2
1 2
Sample Output
1.00
0.50
多项式求和问题:
试想一下,如果让你做1+1/2+1/3+1/4+…是不是很容易,但是一正一负交替的,怎么办呢?我们需要设一个标记变量,初始化为1,每次计算后乘个-1,就好了。
//**需要注意的是1/2=0,要使用1.0/2,因为int计算除法会有精度丢失
//**需要注意的是1/2=0,要使用1.0/2,因为int计算除法会有精度丢失
#include
#include
using namespace std;
int m;
int main(){
cin>>m;
int k;
while(m--){
int fla=1;
double sum=0;
cin>>k;
for(int i=1;i<=k;i++){
sum=sum+(1.0/i)*fla;
fla*=-1;
}
printf("%.2lf\n",sum);
}
return 0;
}
hdu2012素数判定
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2012 Input Output 素数判定是个很重要的知识点,根据数据范围确定筛选和判定的方法,复杂度也不一样。 Input 典型的递推关系式。。我么只需要搞清楚第一项和第二项就ok了,假设桃子总数为x,第一天吃的就是(1/2x)-1,而总数是x,用第一天的来表示总数会得出来关系式,第二天的同样的表示第一天的关系式。解个方程就出来了。 这道题和2042的套路一摸一样,挺容易的。 不喜欢递归的直接按下面的做。 hdu2014青年歌手大奖赛_评委会打分 很久之前写的,这里有一个套路需要注意就是: hdu2015偶数求和 思路很明显,找一个计数变量,每次到m个就计算平均值计算。(模拟把,让你怎么做就怎么做)
对于表达式n^2+n+41,当n在(x,y)范围内取整数值时(包括x,y)(-39<=x
输入数据有多组,每组占一行,由两个整数x,y组成,当x=0,y=0时,表示输入结束,该行不做处理。
对于每个给定范围内的取值,如果表达式的值都为素数,则输出"OK",否则请输出“Sorry”,每组输出占一行。Sample Input
0 1
0 0
Sample Output
OK
#include
有兴趣的话了解一下欧拉筛和埃氏筛法。
hdu2013 蟠桃记
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2013
喜欢西游记的同学肯定都知道悟空偷吃蟠桃的故事,你们一定都觉得这猴子太闹腾了,其实你们是有所不知:悟空是在研究一个数学问题!
什么问题?他研究的问题是蟠桃一共有多少个!
不过,到最后,他还是没能解决这个难题,呵呵-
当时的情况是这样的:
第一天悟空吃掉桃子总数一半多一个,第二天又将剩下的桃子吃掉一半多一个,以后每天吃掉前一天剩下的一半多一个,到第n天准备吃的时候只剩下一个桃子。聪明的你,请帮悟空算一下,他第一天开始吃的时候桃子一共有多少个呢?
输入数据有多组,每组占一行,包含一个正整数n(1
对于每组输入数据,输出第一天开始吃的时候桃子的总数,每个测试实例占一行。Sample Input
2
4
Sample Output
4
22
#include
#include
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2014
青年歌手大奖赛中,评委会给参赛选手打分。选手得分规则为去掉一个最高分和一个最低分,然后计算平均得分,请编程输出某选手的得分。
Input
输入数据有多组,每组占一行,每行的第一个数是n(2
对于每组输入数据,输出选手的得分,结果保留2位小数,每组输出占一行Sample Input
3 99 98 97
4 100 99 98 97
Sample Output
98.00
98.50
我们可以初始min,max为数组第一个元素,然后遍历更新它。
当然我们也可以初始min为负无穷大,max为正无穷大。#include
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=2015
有一个长度为n(n<=100)的数列,该数列定义为从2开始的递增有序偶数,现在要求你按照顺序每m个数求出一个平均值,如果最后不足m个,则以实际数量求平均值。编程输出该平均值序列。
Input
输入数据有多组,每组占一行,包含两个正整数n和m,n和m的含义如上所述。
Output
对于每组输入数据,输出一个平均值序列,每组输出占一行。Sample Input
3 2
4 2
Sample Output
3 6
3 7
#include