为什么
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n,c,C = 0;
cin >> n;
for(int a = 1;a <= n;a++) {
for(int b = a;b <= n;b++) {
c = sqrt(a*a+b*b);
if((a*a+b*b == c*c) && c <= n) {
C++;
}
}
}
cout << C;
return 0;
}
能AC
#include <iostream>
#include <cmath>
using namespace std;
int main() {
int n,c,C = 0;
cin >> n;
for(int a = 1;a <= n;a++) {
for(int b = a;b <= n;b++) {
if((a*a+b*b == sqrt(a*a+b*b)*sqrt(a*a+b*b)) && sqrt(a*a+b*b) <= n) {
C++;
}
}
}
cout << C;
return 0;
}
却WA了?
难道直接比较浮点数和整型时,浮点数没有向下取整再比较吗?