Помогите срочно! ! как в C++ проверить на кратность, но использование %==0 не подойдет :(
т. е. можно найти, к примеру число кратное 3.. вот так: b%3==0...мне, же нужно другим способом, что бы не с нулем и не с числом равным 0, тк в дальнейшем это будет и для int и для float использоваться..
блин возможно есть какая то операция, мне нужно обойти сравнения с 0, тк в 1-м массиве мне нужно будет сравнивать с 0, а в другом с 0.0
Проверка кратности это по любому работа с целым числом. На кратность ведь проверяют только целые числа. А если надо эту опреацию проводит с переменной типа float, то для таких дел в Си есть операция "приведения типов".
Примерно так:
float b;
...
if ( (int)b % 3) {...}
То есть мы переменную b привели к целому типу и выполнили над уже целым значением целочисленную операцию. Сама переменная никак не изменилась
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(меньше нуля значит не кратно)
razn=razn-n
if razn==n
[ссылка заблокирована по решению администрации проекта]