#include <iostream>
#include<cmath>
using namespace std;
int main()
{
int n,m,i,sum=0;
cin>>n>>m;
if(n>m) swap(n,m);
for(i=n;i<=m;i++){
if(sqrt(i)>=n&&sqrt(i)<=m&&sqrt(i)=ceil(sqrt(i)))
sum++;
}
cout<<sum;
return 0;
}
#include <iostream>
#include<cmath>
using namespace std;
int main()
{
int n, m, i, sum = 0;
cin >> n >> m;
if (n > m) swap(n, m);
for (i = n; i <= m; i++) {
if (sqrt(i) >= n && sqrt(i) <= m && sqrt(i) == ceil(sqrt(i))) // 等号
sum++;
}
cout << sum;
return 0;
}
sqrt(i)==ceil(sqrt(i))
少了个等号
报什么错?什么报错都不说。。。。我简单看了下,你的if判断里面的sqrt(i)=ceil(sqrt(i)),请用==号判断而不是赋值。