C語言:迴文平方數
阿新 • • 發佈:2018-12-21
題目描述
迴文數是指從左向右念和從右向左念都一樣的數。如12321就是一個典型的迴文數。
如果給定一個數,如果其是迴文數並且是某個正整數的平方,則稱其為迴文平方數。
比如121,它既是迴文數並且是11的平方,所以121是迴文平方數。
輸入
輸入包括多組資料(少於30000組)。
每組資料包括一行,每行僅一個正整數n(1<=n<231)。若n是0,則表示結束輸入(不需要處理)。
輸出
對於每一行的正整數n, 輸出一行。
如果n是迴文平方數,輸出"YES", 否則輸出"NO"。
樣例輸入
111
121
122
0
樣例輸出
NO
YES
NO
#include <stdio.h> #include <math.h> int fuc(int x) { int m,newed=0,t=0; m=x; do { newed=newed*10+m%10; m/=10; }while(m>0); if(x==newed) t=1; return t; } int main() { int n; while(scanf("%d",&n)!=EOF&&n!=0) { if(fuc(n)&&sqrt(n)==(int)sqrt(n)) printf("YES\n"); else printf("NO\n"); } return 0; }
注意判斷是否為平方數的方法。