積のペア、入力データの中のすべての2つの掛け算の積が12の個数を探し出します--C++

2125 ワード

入力データのすべての2つの乗算された積が12の個数を見つけます.入力データは繰り返すことができますが、積算キューは1回繰り返します.例:1、2;2、1はペアです.
#include <fstream>
#include <iostream>
#include <set>
using namespace std;
int main(int argc, char* argv[])
{
    int num=0;
    int f12=12; 
    multiset<unsigned int>s;//    ,     
    int n;
    while(cin>>n&&n!=0)//  0      
    {
        if(f12%n==0)//n   f12     ?
        {
             //       n     
            multiset<unsigned int>::iterator it=s.find(f12/n);
            if(it!=s.end())
            {
                num++;
                s.erase(it);//           
            }
            else
                s.insert(n);//        
        }
    }
    cout<<num<<endl;//      
    return 0;
}