Я должен сделать программу на C, которая принимает целые числа, sumOfDig и lengthOfNum.sumOfDig равно сумме цифр, а lengthOfNum равно длине числа.Мне не разрешено использовать массивы или math.lib
1 ≤ sumOfDig ≤ 81 и 1 ≤ lengthOfNum ≤ 9
Я пытался написать цикл while, но не могу вспомнитьспособ, которым можно построить число и вычесть последнее добавленное число из суммы чисел.
#include <stdio.h>
#include <stdlib.h>
int main() {
int lengthOfNum; /* stores the length of the number */
int sumOfDig; /* stores the sum of the digits */
int ans; /* stores the answer */
scanf("%d", &sumOfDig); /* scans the sum of the digits */
scanf("%d", &lengthOfNum); /* scans the length of the number */
ans=0; /* initializes ans */
/* adds a number to ans, and removes it from sumOfDig */
while(sumOfDig!=0 && lengthOfNum!=0) {
/*???*/
lengthOfNum--;
};
printf("%d\n", ans); /* prints the outcome */
return 0;
}
Следующие данные должны быть входными и выходными:
In: 20 2 Out:Невозможно
Вход: 20 3 Выход: 992 (длина равна 3 и 9 + 9 + 2 = 20)
Вход: 50 8 Выход: 99999500 (длина равна 8 и9 + 9 + 9 + 9 + 9 + 5 + 0 + 0 = 50)