Среда, 08.05.2024, 02:21
Главная Регистрация RSS
Приветствую Вас, Заглянувший
Меню сайта
Программирование
Для студента
Познавательно
Опросник
За что Вы не любите Ucoz?
Всего ответов: 21
Поддержать проект
Благодарность выразило,чел: 7
Статистика

Полная статистика


Онлайн всего: 1
Гостей: 1
Пользователей: 0

Главная » Статьи » С/C++

Дано натуральное число n (С/C++)

Решение:

#include <iostream>

bool choise1(int);
int choise2(int);
int choise3(int);
int choise4(int);

size_t num_length(int num);
int div(int);

int main()
{
setlocale(LC_ALL, "Rus");

int n;

std::cout << "Введите n: ";
std::cin >> n;

int v;

do
{
std::cout << "Выберите желаемое действие:" << std::endl
<< "1. Выяснить, входит ли цифра 3 в запись числа n^2" << std::endl
<< "2. Поменять порядок цифр числа n на обратный" << std::endl
<< "3. Переставить первую и последнюю цифры числа n" << std::endl
<< "4. Приписать по единице в начало и в конец записи числа n" << std::endl
<< "5. Выход" << std::endl;
std::cin >> v;

switch (v)
{
case 1:
if (choise1(n))
std::cout << "Да, входит" << std::endl;
else
std::cout << "Нет, не входит" << std::endl;

break;
case 2:
std::cout << choise2(n) << std::endl;

break;
case 3:
std::cout << choise3(n) << std::endl;

break;
case 4:
std::cout << choise4(n) << std::endl;

break;
case 5:
break;
default:
std::cout << "Введено недопустимое действие! Попробуйте ещё раз..." << std::endl;

break;
}
}
while (v != 5);

return 0;
}

size_t num_length(int num)
{
size_t length = 0;

while (num != 0)
{
num /= 10;
++length;
}

return length;
}

int div(int num)
{
int result = 1;

size_t length = num_length(num);

while (--length != 0)
result *= 10;

return result;
}

bool choise1(int n)
{
n *= n;

while (n != 0)
{
if (n % 10 == 3)
return true;

n /= 10;
}

return false;
}

int choise2(int n)
{
int result = 0;

while (n != 0)
{
result = result * 10 + n % 10;
n /= 10;
}


return result;
}

int choise3(int n)
{
int d = div(n);

if (d == 1)
return n;

return ((n % 10) * d + ((n - (n / d) * d) / 10) * 10) + n / d;
}

int choise4(int n)
{
int d = div(n);

return (d * 10 + n) * 10 + 1;
}

Категория: С/C++ | Добавил: Freeman (01.11.2011)
Просмотров: 2378 | Теги: C/C++ | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]