C++ 最大回文产品-程序未运行,书面解决方案,但无法理解问题
我知道在给定数字的情况下查找回文的代码,并尝试将其推广到查找由两个3位数字的乘积构成的最大回文,如下所示:-C++ 最大回文产品-程序未运行,书面解决方案,但无法理解问题,c++,c,C++,C,我知道在给定数字的情况下查找回文的代码,并尝试将其推广到查找由两个3位数字的乘积构成的最大回文,如下所示:- #include<stdio.h> #include<conio.h> void main() { int i,no,d,j,temp; int sum=0; clrscr(); for(i=1;i<1000;i++) { for(j=1;j<1000;j++) { sum=0
#include<stdio.h>
#include<conio.h>
void main()
{
int i,no,d,j,temp;
int sum=0;
clrscr();
for(i=1;i<1000;i++)
{
for(j=1;j<1000;j++)
{
sum=0;
no=i*j;
temp=no;
while(no>0)
{
d=no%10;
sum=sum*10 + d;
no=no/10;
}
if(sum==temp)
{
printf("number is Palindrome %d\n",sum);
}
}
}
getch();
}
但是,我没有得到解决方案,有人能帮忙吗?int sum=0应该在内部for循环中,就在no=I*j行之前:
对于每个新数字,总和的值应从零开始。如果它放在最开始的位置,那么它将取前一个no生成的sum值作为所有未来no的值
如果将sum=0放在while循环之前的j循环中,那么对于i*j的每个新组合,sum将从0开始,并且您将100%获得第二个循环中所有所需的回文,每次都将sum重新初始化为0,这可能是学习的好时机。作为旁注,这是一个非常好的例子,说明了为什么应该创建尽可能接近用法的变量。TurboC++很古老。很难找到在线支持,因为您将发现的大多数支持都只能追溯到C++98或C99标准。请注意,98和99指的是1998年和1999年。Turbo C++的使用寿命比十年还要大。此外,适应劳动力可能会更加困难,因为你已经接受了使用青铜矛的有效培训,而你的竞争对手正在使用枪支。我建议用一两本书来充实你的教育,并用现代C++来练习。Tauqeer,一旦答案开始滚入,就不要移动问题的门柱。喜欢每个问题问一个问题。如果你发现你的问题的答案会引发更多的问题,那就多问一些问题。好的,我现在会记住这一点。你能告诉我如何找到最大的回文吗?手动查找太难了,我不知道如何在这个程序中匹配这些代码。