下何桁は余りを用いる。
TopCoder Statistics - Problem Statement
正答率90%の問題。整数の下二桁を00に置き換え1ずつ増やしていく。整数がfactorで割り切れるときの下二桁の値をstring型で返せ。
例:
整数275、 factor 5→ "00" (200%5=0)
整数1021、 factor 11→ "01" (1001%11=0)
#include <iostream> #include <sstream> #include <string> #include <vector> #include <algorithm> using namespace std; class DivToZero{ public: string lastTwo(int num,int factor){ int N,i; stringstream ss; ss.fill('0'); ss.width(2); N=num-num%100; for(i=0;i<100;i++){ if((N+i)%factor==0) break; } cout <<N<<":"<<i<<":"<<factor<< endl; ss<<i; cout<<ss.str()<<endl; return ss.str(); } }; int main(){ DivToZero ob1; int n=234,f=7; ob1.lastTwo(n,f); return 0; }
- stringstreamを使うと、int型とstring型の変換ができる。
- あらかじめssには0を埋めておく。