未解决的题-幂函数的奇偶性

[橙]幂函数的奇偶性

Time Limit:1000MS  Memory Limit:65536K
Total Submit:390 Accepted:59

Description

Keys在体育馆打乒乓球的时候,看着球运行的轨迹。突然想到中学时我们都学过函数的奇偶性。如果对于函数f(x)的定义域内的任意一个x值都有 f(-x)=-f(x),那么就称f(x)为奇函数(Odd Function)。如果对于函数f(x)的定义域内的任意一个x值都有f(-x)=f(x),那么就称f(x)为偶函数(Even Function)。如果函数f(x)既是奇函数,又是偶函数,那么就称f(x)为特殊函数(Particular Function)。既不是奇函数,又不是偶函数的函数称普通函数(Ordinary Function)。
对于幂函数f(x)=a1*x^b1+a2*x^b2+....+an*x^bn,(a1..an,b1..bn均为整数),经过合并同类项后(需要合并的话),函数的奇偶性是怎样的呢?很简单吧,现在请聪明的你解决这个问题咯。

Input

输入数据有多组,第一行包括一个数n,接下一行有n个数对(0<=n<=10),依次表示幂函数每个单项式的系数和指数。数据保证在int范围内,当n=0时输出结束。n=0的时候不处理。

Output

对于第i组数据,输出包括一行,首先输出"Case #i: ",然后输出幂函数的类型。
(Odd Function、Even Function、Particular Function、Ordinary Function四种)

Sample Input

1 
1 2
2 
2 3 1 -4 
0

Sample Output

Case #1: Even Function
Case #2: Ordinary Function
这题很多人都过了,为什么就是wa呢,和别人讨论了很长时间没没有弄出来,注意负奇数对2取是-1而不是1
 
View Code
 1 #include <cstdlib>
2 #include <iostream>
3
4 using namespace std;
5
6 int main(int argc, char *argv[])
7 {
8 int n;
9 int a[20],b[20];
10 int icase=1;
11 while(cin>>n)
12 {
13 for(int i=0;i<n;i++)
14 cin>>a[i]>>b[i];
15 bool odd=true;
16 bool even=true;
17 for(int i=0;i<n;i++)
18 {
19 long long t=a[i];
20 for(int j=0;j<n;j++)
21 if(i!=j&&b[j]==b[i])
22 t+=a[j];
23 if(t!=0&&(b[i]&1)) even=false;
24 if(t!=0&&(b[i]&1)==0) odd=false;
25 cout<<t<<""<<b[i]<<""<<even<<""<<odd<<endl;
26 }
27 printf("Case #%d: ",icase++);
28 if(odd&&even) printf("Particular Function\n");
29 else if(odd)
30 printf("Odd Function\n");
31 else if(even)
32 printf("Even Function\n");
33 else
34 printf("Ordinary Function\n");
35 }
36 system("PAUSE");
37 return EXIT_SUCCESS;
38 }


posted on 2011-12-03 21:08  Goal  阅读(388)  评论(0编辑  收藏  举报

导航