关闭

POJ 2209 The King(水~)

628人阅读 评论(0) 收藏 举报
分类:

Description
第一个数是数列的长度,第二个数字是指数,第三行是数列,即真数。从数列中选择任意多个,使得他们每个求幂再求和最大
Input
第一个数是数列的长度,第二个数字是指数,第三行是数列
Output
输出最大幂和
Sample Input
3
3
2 -1 1
Sample Output
9
Solution
水题,注意指数奇偶
Code

#include<stdio.h>
#include<math.h>
int main()
{
    int n,m,a[300];
    scanf("%d%d",&n,&m);
    for(int i=0;i<n;i++)
        scanf("%d",&a[i]);
    int res=0;
    if(m%2==0)//指数偶数则全加 
    {
        for(int i=0;i<n;i++)
            res+=(int)pow(a[i],m);
    }
    else if(m%2)//指数为奇数则加整数 
    {
        for(int i=0;i<n;i++)
            if(a[i]>0)
                res+=(int)pow(a[i],m);
    }
    printf("%d\n",res);
    return 0;
}
0
1

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:356778次
    • 积分:19551
    • 等级:
    • 排名:第448名
    • 原创:1663篇
    • 转载:0篇
    • 译文:0篇
    • 评论:61条
    最新评论