Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [C++]Запись числа оканчивается его корнем


Автор: kasir 24.4.2008, 09:35
В заданном диапазоне целых чисел [n,m] вывести в файл все числа, десятичная запись квадрата которых оканчивается цифрами самого числа. Например: 52 = 25 . 252 = 625 , 6252 = 390 625 ....
Помогите туплю, как там переворачивать эти числа.

Автор: GIK 25.4.2008, 16:43
Чет я ничего не понял.....

Автор: Mihhail 25.4.2008, 17:26
kasir, ты очевидно хотел затисать последовательность в таком виде:
5^2 = 25 , 25^2 = 625 , 625^2 = 390 625 ....
///Если хочешь что бы тебе помогли, то потрудись хотя бы условие правильно переписать.

И не чего там переворачивать не надо, просто сривниваем последние числа квадрата и само число

Код
   int i, j, n = 1, m = 625, r;
   FILE *fl = fopen( "file.txt", "w" );
   if( !fl ) return 0;

   for( i = n; i <= m; i ++ ){
      j = 10;
      r = i * i;

      //Пока количество разрядов не превышает само число
      while( r % j <= i ){
         //Если последниие цифры у квадрата числа совпадают с самим числом
         if( r % j == i ){
            fprintf( fl, "%d^2 = %d\n", i, r );
            break;
            }

         j *= 10;
         }
      }

   fclose( fl );
   return 1;

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)