#include<stdio.h>
int main(void)
{
int rev=0,temp=0,frwd,n,ans=0;
int i,j;
for(i=100;i<=999;i++)
{
for(j=i;j<=999;j++)
{
n = i*j;
frwd = n;
while(n!=0)
{
temp = n%10;
n = n/10;
rev = temp+rev*10;
}
printf("%d",rev);
if((rev == frwd)&&(ans<frwd))
{
ans=frwd;
printf("%d",ans);
}
}
}
return(0);
}
Я пробовал все, но этот код, похоже, не дает правильного вывода. Желаемый результат - это наибольшее число палиндрома из 6 цифр. Если я запускаю отдельные части, то есть обратное число, проверяя число, независимо от того, является ли это палиндром или петлями for, они работают нормально, но в программе они дают мусор в качестве вывода. Любая помощь будет оценена по достоинству.палиндром числа в C
Что отладки вы пытались до сих пор? –
Самый большой 6-значный палиндром - '999999', правильно? Зачем вам нужна программа? –
Проблема с инициализацией 'rev'. Вы их повторно инициализируете каждый раз. Попробуйте добавить 'rev = 0;' во внутренний цикл 'for'. Вам нужно проверить максимальный уровень всех этих палиндромов? Или как @CarlNorum указал, что это '999999' –