这代码出什么问题了啊,我调试的时候明明看见ans==x,最后却返回了false。 注释内容是我用来调试的。 输入样例#1就出问题了,救救我吧。
#include <iostream>
using namespace std;
int main() {
int M,x,num,digit,ans,sum;
int a[10];
cin >> M;
for(int i = 1;i <= M;i++) {
cin >> x;
num = 0;
digit = 0;
while(x != 0) {
digit++;
a[digit] = x%10;
x -= (x%10);
x /= 10;
}
ans = 0;
for(int j = 1;j <= digit;j++) {
sum = 1;
for(int k = 1;k <= digit;k++) {
sum *= a[j];
}
ans += sum;
// cout << "a[j]:" << a[j] << endl;
// cout << "ans:" << ans << endl;
// cout << "sum:" << sum << endl;
}
// cout << "digit:" << digit << endl;
if(x == ans) {
cout << "T" << endl;
}
else {
cout << "F" << endl;
}
}
return 0;
}