题目
源地址:
http://poj.org/problem?id=1552
理解
直接开一个数组,两个循环判断后一个数是不是前一个数的两倍。暴力做的,没有超时。
代码
#include <cstdio>
#include <cstdlib>
#include <algorithm>
using namespace std;
int list[25];
int main(int argc, char const *argv[])
{
int i, j, len;
int sum;
int num;
while (scanf("%d", &num), num != -1)
{
for (i = 0; num != 0; i++)
{
list[i] = num;
scanf("%d", &num);
}
len = i;
sort(list, list + len);
for (i = sum = 0; i < len; i++)
{
for (j = i; j < len; j++)
{
if (list[i] * 2 == list[j])
{
sum++;
}
}
}
printf("%d\n", sum);
}
return 0;
}
更新日志
- 2014年08月03日 已AC。