int is_ordered(int* array, int size) {
for(int i = 1; i < size; i++) {
if (array[i] < array[i-1]) return FALSE;
}
return TRUE;
} int x, y, k, S = 0;int x = 0, y = 0, k = 0, S = 0;a = 10; - присваивает переменной a значение 10.a == 10; - не делает фактически ничего. Производится сравнение и результат игнорируется. удалить все значения из списка a, которые есть в списке b. Если элемент встречается в b, неважно сколько раз, все его вхождения в a надо удалить. Оставить только те, что не всречаются в b. array_diff, упомянутый в вопросе, работает точно так же.
я поместил Вашу формулу i = beta * input % N в
while i < 100:i = beta * input % N
result = divnum(input*beta %N, i)divnum(input*beta %N, i) это то же самое, что ваше:d= (divnum(input,delta))
s = divnum(i,gamma) %N
result = divnum(d,s)