请问这道c++的题怎么做,最好用循环语句做,快快~~

来源:百度知道 编辑:UC知道 时间:2024/06/15 02:08:14
回文平方数
回文数是指从左向右念和从右像做念都一样的数。如12321就是一个典型的回文数。
给定一个数n(1<=n<=1000,输出所有的大于等于1小于等于n且它的平方是回文数的数。

#include<stdio.h>
main()
{
int i,n=0;
scanf("%d",n);

for(i=1;i<=n;i++)
{
if(i*i<100)
{
if(i*i%10==i*i/10)
{
printf("%d",i);
}
}
if(i*i>=100&&i*i<1000)
{
if(i*i%10==i*i/100)
{
printf("%d",i);
}
}
if(i*i>=1000&&i*i<10000)
{
if(i*i%10==i*i/1000 && i*i/10%10==i*i/100%10)
{
printf("%d",i);
}

}
}
getch();
}
你看懂就看吧我能半天没能出来

#include <iostream>
using namespace std;

int main()
{
int n;
int i;
int temp;
int sum;
cout<<"please input a number:\n";
cin>>n;

for (i = 1; i <= n; i++)
{
sum = 0;
temp = i*i;//数的平方
while (temp != 0)
{
sum = sum*10 + temp%10;//这里例如123会变成321
temp = temp/10;
}