20180302 find your presents(2) -- ACMsteps

http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=1&sectionid=2&problemid=11
这道题目其实没有怎么看懂。意思大概就是让你输入一个奇数,然后分组出来会留有一个数是不成双的,找出不成双的数字。但是我没有思路。后来明白了,其实需要明白异或运算
http://acm.hdu.edu.cn/game/entry/problem/show.php?chapterid=1&sectionid=2&problemid=15
这个比较好理解,直接代码如下

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int checksum(char *str)
{
    int sum=0;
    int i=0;
    for(i=0;i<strlen(str);i++)
    {
         if(str[i]==' ') continue;
        sum+=(i+1) * (str[i]-'A' +1);
    }
    return sum;
}
int main()
{
    char str[256];
    int sum;
    gets(str);
    while(str[0]!= '#')
    {
        sum = checksum(str);
        printf("%d\n",sum);
        gets(str);
    }
    return 0;
}
点赞