...">

Нужно решить эту задачу ** языке СИ

0 голосов

Нужно решить эту задачу на языке СИ


image

спросил от (76 баллов) в категории Информатика
1 Ответ
0 голосов
ответил от Отличник (9.7k баллов)
 
Лучший ответ

#include
#include
#include
using namespace std;

void Poly(int nmb) {
   char s[20]="",st[20];
   itoa(nmb,st,10);
   int k=strlen(st);
   for (int i=0; i   if (strcmp(s,st)==0)  cout<<"number:  "<<nmb<<"  palindrom"<<endl;<br>   else   {  k=atoi(s); nmb+=k;  Poly(nmb);  }
 }
  int main(){ 
   int nn;
   cout<<"number:  ";  cin>>nn;
   Poly(nn);
   system("pause");
   return 0;
}

оставил комментарий от (76 баллов)

спасибо)

оставил комментарий от (76 баллов)

программу на просто си я смогла успешно перевести,спасибо за объяснения выше

оставил комментарий от (76 баллов)

но есть одно "но" :с как сделать,так что прога работала не для одного числа

оставил комментарий от (76 баллов)

а для первых н чисел

оставил комментарий от (76 баллов)

#include
int main()
{
int nn,m,k,dg;
printf("number:  ");  
scanf("%i",&nn);    
    while (nn>0)
    {
    m=nn;
dg=0;  
        while (m>0)
         {
            k=m % 10;
            dg=dg*10+k;
            m=m/10; 
         }
       if (nn==dg)
        {
          printf("palindrom\n"); 
          break;
        }
       else nn+=dg;
       printf("%i\n",nn);
    }

}

оставил комментарий от Отличник (9.7k баллов)

Добавляете внешний цикл   for (int i=10; i < nn+1; i++) {   while (nn>0)  . . . .   } ,  т.к.  числа, меньше 10 - всегда палиндром

оставил комментарий от (76 баллов)

спасибо большое)

оставил комментарий от (76 баллов)

только вот почему-то программа все равно неверно работает :с

оставил комментарий от Отличник (9.7k баллов)

int main()
{
int nn,m,k,dg,td;
printf("number:  ");  
scanf("%i",&nn); 
  for (int i=1; i  {
  td=i;
while (true)
    { 
   m=td;
        dg=0;
        while (m>0)
         {
            k=m % 10;
            dg=dg*10+k;
            m=m/10; 
         }
       if (td==dg)
        {
          printf("palindrom  %i\n",td);
          break;
        }
       else td+=dg;
    }
  }
}
У меня работает

оставил комментарий от (76 баллов)

спасибо большущее!!!!!!!

...