include <bits/stdc++.h
时间: 2023-12-10 20:34:08 浏览: 109
这段代码的作用是计算三个数的和为n,且这三个数都不以3或7结尾的数的个数。但是,这段代码存在以下问题:
1. 第11行的代码中,j % 10 ! 3应该是j % 10 != 3。
2. 第11行的代码中,j % 10 ! 7应该是j % 10 != 7。
3. 第11行的代码中,应该加上括号,即(i % 10 != 3 && i % 10 != 7 && j % 10 != 3 && j % 10 != 7 && k % 10 != 3 && k % 10 != 7)。
4. 第7行的代码中,应该将b[i]=a[i]改为b[i]=i。
5. 第9行的代码中,应该将z=0改为cnt=0。
6. 第11行的代码中,应该将(i + j + k) == n改为(i + j + k) == n && (i != j) && (j != k) && (i != k)。
修改后的代码如下:
#include <bits/stdc++.h>
using namespace std;
int main() {
int n;
cin >> n;
int cnt = 0;
for (int i = 1; i <= n - 2; i++) {
for (int j = i + 1; j <= n - 1; j++) {
for (int k = j + 1; k <= n; k++) {
if ((i % 10 != 3 && i % 10 != 7 && j % 10 != 3 && j % 10 != 7 && k % 10 != 3 && k % 10 != 7) && (i + j + k) == n && (i != j) && (j != k) && (i != k)) {
cnt++;
}
}
}
}
cout << cnt << endl;
return 0;
}
阅读全文