#include<stdio.h> #include<math.h> int main() { int a,b,n; double m; for(int i=1;i<=9;i++) for(int j=0;j<=9;j++) { n=i*1100+j*11; m=sqrt(n); if(floor(m+0.5)==m) printf("%d\n",n); } return 0; }
打表法 // 7744问题 打表法 #include<stdio.h>#include<stdlib.h>#include<string.h>int main(){ char a[10000]={0}; int i=1; memset(a,‘0‘,sizeof(a)); for(i=1;i<=8;i++) { int b=i*i*11*11; if(b/1000==b/100%10&&b/10%10==b%100%10) a[b]==‘1‘; } while(scanf("%d",&n)!=EOF) if(a[n]==‘1‘) printf("yes") return 0;}
时间: 2024-11-08 01:50:38