POJ 1552 Doubles (水题)

题意:给出几个正数(2~15个),然后就是求有这些数字的2倍有没有和原先的正数相同的,求出有几个,没有就是0.

分析:水题。用数组解决,开一个数组存正数,另开一个数组用来存这些数的2倍,接着就搜索,然后注意一下结束的时候怎么处理就行。

 

贴下代码:(248k,0ms)

 

C++语言:
#include<iostream>
using namespace std;
int main()
{
    int a [ 20 ] = { 0 };
    int b [ 20 ] = { 0 };
    int i , j;
    int length;
    int temp;     //计数器,记录有几个相同的
    while( cin >> a [ 0 ] && a [ 0 ] !=- 1)
    {
        b [ 0 ] = 2 * a [ 0 ];
        for( i = 1;; i ++)
        {
            cin >> a [ i ];
            if( a [ i ] == 0) break;
            b [ i ] = 2 * a [ i ];
        }
        length = i;
        temp = 0;
        for( i = 0 ; i < length ; i ++)
        {
            for( j = 0 ; j < length ; j ++)
            {
                if(b [ j ] == a [ i ]) temp ++;
            }
        }
        cout << temp << endl;
    }
}

你可能感兴趣的:(POJ 1552 Doubles (水题))