素数を数えるんだ!!
参戦した。div2。level1は15分でsubmitできて、「今日の俺は、いつもと違う!いけるぞぉ!」と調子にのっていたらlevel2が全く分からず終了してしまった。
とりあえずコードをのせておく。
#include <iostream> #include <sstream> #include <string> #include <vector> #include <algorithm> #define print(var) std::cout<<"#var= "<<var<<std::endl #define FOR(i,a,b) for(int i=(a);i<(b);i++) #define REP(i,n) FOR(i,0,n) using namespace std; class TheSwapsDivTwo{ public: int find(vector <int> sequence) { int h=sequence.size(),num=0,s=0; FOR (i,0,h){ FOR(j,1,h-i){ if(sequence[i]!=sequence[i+j]) num++; if(sequence[i]==sequence[i+j] && s==0) s=1; } } num=num+s; cout<<num<<endl; return num; }
反省点
- 素数を判別する関数をつくっておく。
- while文の使い方をマスターしておく。
- テンプレをいじっておいたので、ローカルでの検証が速くなった。うれしい。