Форум программистов, компьютерный форум CyberForum.ru

Получите число, записанное теми же цифрами, но в противоположном порядке - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
Arturcic
0 / 0 / 0
Регистрация: 04.12.2012
Сообщений: 10
04.12.2012, 17:46     Получите число, записанное теми же цифрами, но в противоположном порядке #1
Дано число n, десятичная запись которого не содержит нулей. Получите число,
записанное теми же цифрами, но в противоположном порядке.
При решении этой задачи нельзя использовать циклы, строки, списки,
массивы, разрешается только рекурсия и целочисленная арифметика. Функция
должна возвращать целое число, являющееся результатом работы программы,
выводить число по одной цифре нельзя.
Ввод Вывод
179 971
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2012, 17:46     Получите число, записанное теми же цифрами, но в противоположном порядке
Посмотрите здесь:

C++ Дано натуральное трехзначное число n. Переставить его цифры так, чтобы образовалось максимальное число, записанное теми же цифрами.
Перестановка цифр в числе таким образом, чтобы получить наименьшее число записанное этими же цифрами C++
В данном натуральном числе переставить цифры таким образом, чтобы образовалось наименьшее число, записанное этими цифрами C++
C++ В данном натуральном числе переставить цифры таким образом, чтобы получилось наименьшее число записанное этими же цифрами
C++ Рекурсия. Получите число, записанное теми же цифрами, но в противоположном порядке
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
04.12.2012, 19:48     Получите число, записанное теми же цифрами, но в противоположном порядке #2
Ну пусть будет например так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
int rec(int a, int &b)
{
    if(a/10==0)
    {       
        return a%10;
    }   
    int t=rec(a/10, b);
    b*=10;
    return t+(a%10) *b;
 
}
int main(){
    int a, b=1;
    cin>>a;
    cout<<rec(a, b);
 
return 0;
}
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
04.12.2012, 19:57     Получите число, записанное теми же цифрами, но в противоположном порядке #3
valeriikozlov,
зачем так сложно
C++
1
2
3
4
5
6
7
int res=0;
while(n)
{
res*=10;
res+=n%10;
n/=10;
}
valeriikozlov
Эксперт C++
 Аватар для valeriikozlov
4660 / 2486 / 321
Регистрация: 18.08.2009
Сообщений: 4,550
05.12.2012, 06:23     Получите число, записанное теми же цифрами, но в противоположном порядке #4
Цитата Сообщение от ValeryS Посмотреть сообщение
valeriikozlov,
зачем так сложно
прочитайте внимательно условие, поймете:
Цитата Сообщение от Arturcic Посмотреть сообщение
При решении этой задачи нельзя использовать циклы, строки, списки,
массивы, разрешается только рекурсия и целочисленная арифметика.
ValeryS
Модератор
6374 / 4840 / 441
Регистрация: 14.02.2011
Сообщений: 16,040
05.12.2012, 07:54     Получите число, записанное теми же цифрами, но в противоположном порядке #5
Цитата Сообщение от valeriikozlov Посмотреть сообщение
прочитайте внимательно условие, поймете:
Пардон, не заметил
Yandex
Объявления
05.12.2012, 07:54     Получите число, записанное теми же цифрами, но в противоположном порядке
Ответ Создать тему
Опции темы

Текущее время: 23:46. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru