C++11 与Euler 23的问题
我已经开始解决Euler的问题,Euler 23中有一个错误确实困扰着我。 有什么问题吗C++11 与Euler 23的问题,c++11,C++11,我已经开始解决Euler的问题,Euler 23中有一个错误确实困扰着我。 有什么问题吗 #include <iostream> using namespace std; int main() { long long res=0; for (int answer=1;answer<=28123;answer++){ bool tri=false; if (answer%6==0 || answer%20==0) continue; for (int i=12;i<=ans
#include <iostream>
using namespace std;
int main() {
long long res=0;
for (int answer=1;answer<=28123;answer++){
bool tri=false;
if (answer%6==0 || answer%20==0) continue;
for (int i=12;i<=answer;i++){
if (abs(answer-i)%20==0) tri=true;break;
}
if (!tri) res+=answer;
}
cout << res << endl;
return 0;
}
如果有一个数字可以被20或6整除,我使用continue。
有什么问题吗?
是因为我的解决方案吗?线路的意图
if (abs(answer-i)%20==0) tri=true;break;
未正确地用代码表示。这相当于:
if (abs(answer-i)%20==0)
{
tri=true;
}
break;
我想你不是这个意思。它需要:
if (abs(answer-i)%20==0)
{
tri=true;
break;
}
请缩进代码使其可读。错误是什么?请在问题中添加问题陈述
if (abs(answer-i)%20==0)
{
tri=true;
break;
}