错误:二进制'operator<=' 'int'和'<unresolved overloaded function type>'类型的操作数无效



我的代码:

#include <iostream>
#include <bits/stdc++.h>
using namespace std;
int main() {
int t;
cin >> t;
while( t-- ) {
int n, x = 0;
cin >> n;
if(n % 2 == 0)
cout << n/2 <<" "<< n/2 << endl;
else
int min = INT_MAX;
for(int i = 1; i*i <= n; i++) {
if(( n-i) % i == 0) {
int d = (n-i) / i;
if(d <= min) {
min = d;
x = i;
}
}
}
cout << x <<" "<< n-x <<endl;    
}
// your code goes here
return 0;
}

该代码给出了一些我未能处理的典型错误。

谁能帮我修一下吗?

C:\Users\HP\Desktop\Code\hello.cpp:21:20:error:类型为'int'
和'''binary'运算符的无效操作数<='21|if(d<=min(|~^~~~~

问题是您在中错过了else{}

else
int min=INT_MAX;
for(int i=1;i*i<=n;i++)

因此,int min的范围仅限于定义它的单行。在if(d<=min)中,编译器看到的是std::min()函数模板(这是因为您编写了不推荐使用的using namespace std;(。

相关内容

  • 没有找到相关文章

最新更新