Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > Работа с натуральным числом


Автор: stat007 29.1.2009, 22:43
Подскажите в 2 простеньких вопросах:

1. Определить является ли число а делителем числа b и наоборот (т.е. является ли число b делителем числа а)?
2. Дано натуральное число определить:
    а) заканчивается ли оно на цифру 6 ?
    b) кратна ли сумма его чисел, числу х ?
    c) определить чётный или нечётным является первая цифра введённого числа?

Автор: baldina 30.1.2009, 00:02
1. 
Код

if (a%b) 
  std::cout << "b не является делителем a\n"; // % дает остаток от деления

2. a) 
Код

unsigned y = x - (x/10)*10; 
  if (y==6)
  {
  }
.
    b) см. 1
    с) 
Код

unsigned y; 
do 
  y=x; 
while (x/=10); 
std::cout << "первая цифра " << ((y%2) ? "нечетная" : "четная") << std::endl;


Добавлено через 1 минуту и 21 секунду
остальное давай сам

Автор: maxim1000 30.1.2009, 09:22
Цитата(baldina @  30.1.2009,  00:02 Найти цитируемый пост)
x - (x/10)*10;

это можно тоже заменить на x%10

Автор: Dmi3ev 30.1.2009, 11:33
Делаешь прогу что-ли за вознаграждение? Я про эту:
http://forum.vingrad.ru/forum/topic-245737.html
Если да, то там-то про взаимно простые числа речь, хотя, может, у тебя своя логика какая, закономерность нашел какую...
Цитата

b) кратна ли сумма его чисел, числу х ?

только не чисел, а цифр
Код

int son (int v)
{
int res=0;
while (v>0)
 {
  res+=v%10;
  v/=10;
 }
return res;
}

вот такая функция примерно... как вариант...

Автор: baldina 30.1.2009, 12:04
Цитата(maxim1000 @ 30.1.2009,  09:22)
Цитата(baldina @  30.1.2009,  00:02 Найти цитируемый пост)
x - (x/10)*10;

это можно тоже заменить на x%10

 smile ну конечно. я хотел более явно показать что откуда берется. надо было в комментах написать...

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