Dacă am înțeles bine definiția dată de Alexandru, pe un compilator din secolul nostru programul ar putea arăta așa:
#include <iostream>
using namespace std;
int main(){
unsigned i,j,k,n;
cout<<"? n=";
cin>>n;
for(i=1;i<=n;i++){
for(k=(j=i)*i;j>0;k/=10,j/=10)if(k%10-j%10)break;
if(!j)cout<<i<<'*'<<i<<'='<<i*i<<endl;
}
return 0;
}
Pe Borland C++ 3.1 ar arăta așa:
#include <iostream.h>
#include <math.h>
int main(){
unsigned i,j,k,n;
cout<<"? n=";
cin>>n;
for(i=1;i<=n;i++){
for(k=(j=i)*i;j>0;k/=10,j/=10)if(k%10-j%10)break;
if(!j)cout<<i<<'*'<<i<<'='<<i*i<<endl;
}
return 0;
}
Nu am posibilitatea să verific pe Borland.