自学内容网 自学内容网

【16届蓝桥杯寒假刷题营】第1期DAY5

问题描述

小蓝非常热爱数学,一天老师给小蓝出了一道数学题,想锻炼锻炼小蓝的思维能力。题目是这样的:给定两个数 a 和 b,在 a 到 b(包括 a 和 b)之间所有数的平方当中,试问有几个数能够表示为 x×y 的形式,其中 x 和 y 是质数。你能帮助小蓝一起来解决这个问题吗?

输入格式

第一行两个正整数 a,b,含义同题目所示。

输出格式

输出共一行,输出一个整数,代表那些能够表示为题目描述的形式的平方数的数量。

样例输入

1 5

样例输出

3

说明

样例中,在1到5之间产生的平方数为:1、4、9、16和25。其中只有4、9和25是满足题目要求的平方数,所以答案为3。

评测数据规模

对于所有评测数据,1≤a<b≤105。

思路:

只要找a~b之间的素数即可

代码如下:

#include <iostream>
using namespace std;
int a,b;
bool is_pirme(int x)
{
  if(x < 2)
  return false;
  if(x == 2)
  return true;
  for(int i = 2 ; i * i <= x ; i++)
  {
    if(x % i == 0)
    return false;
  }
  return true;
}
int main()
{
int cnt = 0;
  cin >> a >> b;
  for(int i = a ; i <= b ; i++)
  {
    if(is_pirme(i))
    {
      cnt++;
    }
  }
  cout << cnt;
  return 0;
}


 


原文地址:https://blog.csdn.net/zqystca/article/details/145261847

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!