本题要求实现一个函数,判断任一给定整数N
是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。
int IsTheNumber ( const int N );其中N
是用户传入的参数。如果N
满足条件,则该函数必须返回1,否则返回0。
裁判测试程序样例:
#include <stdio.h>#include <math.h>int IsTheNumber ( const int N );int main(){ int n1, n2, i, cnt; scanf("%d %d", &n1, &n2); cnt = 0; for ( i=n1; i<=n2; i++ ) { if ( IsTheNumber(i) ) cnt++; } PRintf("cnt = %d/n", cnt); return 0;}/* 你的代码将被嵌在这里 */输入样例:
105 500输出样例:
cnt = 6int IsTheNumber ( const int N ){ int n,m,i; int ret; int a[10]={0}; n=N; ret=0; /*判断是否是完全平方数*/ m=sqrt(n); if (m*m==n) ret=1; else return 0; /*若为完全平方数,则统计输入整数中0-9的个数*/ while(n!=0) { i=n%10; a[i]++; n=n/10; } for(i=0;i<10;i++){ if(a[i]>=2) { ret=1; break; } else ret=0; } return ret;}
新闻热点
疑难解答