Project Euler问题4的错误解决方案
Incorrect solution to Project Euler Problem 4
我对编程还很陌生。我已经为Project Euler上的问题4创建了一个解决方案。然而,我的代码似乎有问题,没有给我想要的结果。手头的问题是找到两个3位数相乘产生的最大回文。当我以100开始两个循环时,代码工作得很好(这是为了找到通过乘以两个2位数获得的最大回文(。在这种情况下,我的输出是90909,而它应该是906609。有人能帮我复习一下代码吗?
#include "iostream"
using namespace std;
int checkPalindrome(int);
int main()
{
int prod;
for(int i=1000;i>0;i--)
for(int j=1000;j>0;j--)
{
prod=i*j;
if(checkPalindrome(prod))
{ cout<<prod;
cout<<endl;
exit(0);
}
}
}
int checkPalindrome(int x)
{
int temp=0,copy;
copy=x;
while(x!=0){
temp=temp*10+(x%10);
x/=10;
}
if(copy==temp)
return 1;
else
return 0;
}
您实际上并不是在搜索通过将两个3位数与您的解决方案相乘而创建的最大回文,而是在搜索循环找到的第一个回文。你可以这样做:
int main()
{
int prod;
int res = 0;
for (int i = 1000; i > 0; i--)
for (int j = 1000; j > 0; j--)
{
prod = i*j;
if (checkPalindrome(prod) && res < prod)
{
res = prod;
}
}
cout << res;
cout << endl;
exit(0);
}
相关文章:
- Project Euler问题4的错误解决方案
- 在 leetcode 上提交解决方案时出现堆栈缓冲区溢出错误
- 我的固定时间步长与增量时间和插值的解决方案是错误的吗?
- 解决方案在第 25 行执行错误'out of bounds'
- 使用STL对用户输入数组进行排序的错误有什么解决方案吗?
- C++ LeetCode #377 的 DP 解决方案中,此代码是否有错误?
- 错误LNK2005无法解决问题的解决方案
- 我在运行这个黑客排名 Gridland 地铁的解决方案时遇到分段错误
- 将单元测试添加到旧解决方案时出现链接错误
- OpenCV 错误的解决方案:不支持的格式或格式组合 - 当将 ORB 功能与 FlannBasedMatcher 匹配
- 在可视化解决方案 c++ 中获取链接器错误
- 为什么回溯解决方案给出错误的答案
- 我在 TSP 的C++解决方案中遇到转换错误
- 构建C 插件时的错误,该解决方案是什么
- 错误的LNK2005已定义为将C /Fortran解决方案更新为VS 2013
- 我提交了解决方案,并在第 4 个测试用例中出现时间限制错误
- C++ mysql 仅在构建解决方案时LNK2019错误
- 3n+1解决方案给出错误的答案
- 运行VS2008解决方案时运行时错误;解决方案正在构建良好
- 这是HackerRank的错误解决方案