Top.Mail.Ru
Ответы

Помогите срочно! ! как в C++ проверить на кратность, но использование %==0 не подойдет :(

Дополнен

т. е. можно найти, к примеру число кратное 3.. вот так: b%3==0...мне, же нужно другим способом, что бы не с нулем и не с числом равным 0, тк в дальнейшем это будет и для int и для float использоваться..

Дополнен

блин возможно есть какая то операция, мне нужно обойти сравнения с 0, тк в 1-м массиве мне нужно будет сравнивать с 0, а в другом с 0.0

По дате
По рейтингу
Аватар пользователя
Мастер
13лет

Проверка кратности это по любому работа с целым числом. На кратность ведь проверяют только целые числа. А если надо эту опреацию проводит с переменной типа float, то для таких дел в Си есть операция "приведения типов".
Примерно так:

float b;
...
if ( (int)b % 3) {...}

То есть мы переменную b привели к целому типу и выполнили над уже целым значением целочисленную операцию. Сама переменная никак не изменилась

Аватар пользователя
Мастер
13лет

if(a/b*b==a)..

это что получается если мы хотим 5 проверяем кратность 2 то
получаем что оно кратное? Оо

5/2*2 =5

WTF?

А что если по циклу вычетать из исходного числа нужное нам (на кратность которому проверяем) и после вычитания смотрим если результат равен 0 то краное, если результат меньше 0 то некратное, если больше нуля то снова вычитаем и снова проверяем

например (проверяем число 15 кратности 3)
15-3=12 (больше нуля)
12-3=9 (больше нуля)
9-3=6(больше нуля)
6-3=3(больше нуля)
3-3=0 (Краное)

число 7 кратности 2
7-2=5(больше 0)
5-2=3(больше нуля)
3-2=1(больше нуля)
1-2=-1(меньше нуля значит не кратно)

Аватар пользователя
Мудрец
13лет

razn=razn-n
if razn==n

Аватар пользователя
Мастер
13лет

[ссылка заблокирована по решению администрации проекта]

Источник: <a href="/" rel="nofollow" title="15907216:##:sp9rPT">[ссылка заблокирована по решению администрации проекта]</a>