【MAC 上学习 C++】Day 61-2. 6-7 统计某类完全平方数 (20 分)

6-7 统计某类完全平方数 (20 分)

1. 题目摘自

https://pintia.cn/problem-sets/14/problems/739

2. 题目内容

本题要求实现一个函数,判断任一给定整数N是否满足条件:它是完全平方数,又至少有两位数字相同,如144、676等。

函数接口定义:

int IsTheNumber ( const int N );
其中N是用户传入的参数。如果N满足条件,则该函数必须返回1,否则返回0。

输入样例:

105 500

输出样例:

cnt = 6

3. 源码参考
#include 
#include 

using namespace std;

int IsTheNumber ( const int N );

int main()
{
    int n1, n2, i, cnt;

    cin >> n1 >> n2;
    cnt = 0;
    for ( i=n1; i<=n2; i++ ) 
    {
      if ( IsTheNumber(i) )
      {
        cnt++;
      }   
    }

    cout << "cnt = " << cnt << endl;

    return 0;
}

int IsTheNumber ( const int N )
{
  int cnt;
  double m;
  int n;
  int k[10] = { 0 };

  m = sqrt(N);
  n = N;
  if(m - (int)m == 0)
  {
    while(n)
    {
      k[n % 10]++;
      n /= 10;
    }
  }

  for(int i = 0; i <= 9; i++)
  {
    if(k[i] >= 2)
    {
      return 1;
    }
  }

  return 0;
}

你可能感兴趣的:(【MAC 上学习 C++】Day 61-2. 6-7 统计某类完全平方数 (20 分))