HDU 2007 (水)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2007
题目大意:给你段连续数字,让你求 all sum of (偶数2 )and all sum of (奇数3 )
解题思路:
暴力遍历这段数字,判断奇偶数,搞一下就行,但对于弱菜的我来说还是学到挺多的。
先上代码吧
代码:
1 #include<iostream>
2 #include<cmath>
3 #include<cstdio>
4 #include<iomanip>
5 #include<algorithm>
6 using namespace std;
7 int main()
8 {
9 int m, n;
10 while(cin >> m >> n)
11 {
12 double x = 0;
13 double y = 0;
14 if(m > n)
15 swap(m, n);
16 for(int i = m; i <= n; i ++)
17 {
18 if(i % 2 == 0)
19 x += pow(i, 2);
20 else
21 y += pow(i, 3);
22 }
23 cout << fixed << setprecision(0) << x << ' ' << y << endl;
24 }
25 }
1.这里有个很重要的一点: 如果用 pow(5, 2) 函数, 那 x y 必须都是 double 类型的,因为 pow(5, 2) 返回的是 24.99997 类似的数,int 会丢失精度,变成 24.
而如果用了 double ,cout 的时候就必须加上 fixed << setprecision(0) ; 否则会科学记数法 (e的表示),会WA;
如果不用pow(5, 2),那么就随意了,int 也可以容下的,cout 不用加上面那句,科学记数法好像只是针对 double
2.cout << fixed << set......是因为输出要用普通输出,不加的话会是科学记数法输出