Для решения указанной задачи можно воспользоваться следующим алгоритмом. Получаем квадрат заданного числа. Затем находим остаток от деления его на 10 (это будет последняя цифра числа), а от самого числа "отбрасываем" последнюю цифру. Если эта цифра равна 3, то меняем значение переменной-признака pr. Процесс повторяется до тех пор, пока не будут просмотрены все цифры числа (пока число не станет равным нулю). После этого проверяется значение переменной-признака.
#include<iostream.h> main () { int i,n,m,a,pr=0; cout << "Задайте натуральное число: "; cin >> n; m = n*n; //Находим квадрат заданного числа. while (m>=1) { a = m%10; //Последняя цифра числа. m /=10; //Удалили последнюю цифру из числа. if (a==3) pr=1; //Цифра 3 обнаружена. } if (pr) cout << "Цифра 3 в квадрате числа " << n << " есть"; else cout << "Цифры 3 в квадрате числа " << n << " нет"; }