川のブログ

川の適当気ままなブログです。 

AOJ 0137 Middle-Square Method

こんにちは川です。

今回は、問題文に乱数は真ん中の4個の数をとると書いてあります。

なので、その前の桁の余りを100で割れば答えは出ます。

実際にやってみたらわかります。

 

ソースコード

 

#include<bits/stdc++.h>
using namespace std;
void serch(int n,int now)
{
    n=n%1000000/100;
    cout<<n<<endl;
    if(now<10)serch(n*n,now+1);
}
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++){
        int num;
        cin>>num;
        cout<<"Case "<<i<<':'<<endl;
        serch(num*num,1);
    }
}