C ++ несколько случайных чисел, складывающихся до равного определенного числа

Имея небольшую проблему с выяснением этого, у меня есть несколько переменных типа int, которые генерируют случайные числа от 1 до 9. Мне нужно, чтобы они генерировали правильные числа, равные определенному числу, например, 30.

int numone = rand()%10;
int numtwo = rand()%10;
int numthree = rand()%10;
int numfour = rand()%10;
int finalsum;

do{
finalsum = numone + numtwo + numthree + numfour;
}while(finalsum !=30);

Я не уверен, правильно ли я поступаю, но когда я пытаюсь скомпилировать приведенный выше код, я недаже не получить номер, а иногда я получаю "Превышен лимит времени ошибка, возможно, это занимает слишком много времени. Есть ли другой способ, которым я могу сделать это?

Ответы на вопрос(3)

Ваш ответ на вопрос