Вводятся два числа N и K. Выведите количество чисел из
диапазона от 1 до N включительно таких, что их сумма цифр делится на K.
Пример ввода
100 3
Пример вывода
33
Что я только не писал ничего не работает !!!
И так с многими задачами , я алгоритм решения не могу представить , логики нет
Другие языки программирования и технологии
Объясните пожалуйста супер чайнику как решить эту задачу
а какая тут логика?
тупо в цикле подсчитываешь сколько чисел сума цифр которых делится на заданное число
Если сильно надо могу прогу написать
тупо в цикле подсчитываешь сколько чисел сума цифр которых делится на заданное число
Если сильно надо могу прогу написать
я бы помог, но ты всё равно опять ушами прохлопаешь. учится надо, а не за девчонками бегать.
Так че тут сложного это признак деления на 3. Значит идя от обратного каждое число которое делится на 3 без остатка будет иметь сумму цифр которая делится на три
50 р. за задачу. Если будешь оптом заказывать. 7 минут писать в среднем.
var n,k,i,s:integer;
function sc(a,k:integer):boolean;
var n,s:integer;
begin
n:=a; s:=0;
repeat s:=s+(n mod 10); n:=n div 10; until n=0;
if s mod k=0 then sc:=true else sc:=false;
end;
begin readln(n,k);
for i:=1 to n do if sc(i,k) then inc(s); writeln(s);
end.
Программа несложная.
Могу объяснить:
Функция sc вычисляет сумму цифр (оно записывается в переменную s), а также проверяет ее делимость на k. Функция имеет очень простой алгоритм. Как он работает несложно понять самому.
Далее в самой программа проходишься циклом от 1 до n и если наша функция выдает true, т. е. если число удовлетворяет требованиям программы, то к отдельной переменной прибавляешь единицу (inc(s)). В итоге в переменной s у тебя будет искомое значение.
function sc(a,k:integer):boolean;
var n,s:integer;
begin
n:=a; s:=0;
repeat s:=s+(n mod 10); n:=n div 10; until n=0;
if s mod k=0 then sc:=true else sc:=false;
end;
begin readln(n,k);
for i:=1 to n do if sc(i,k) then inc(s); writeln(s);
end.
Программа несложная.
Могу объяснить:
Функция sc вычисляет сумму цифр (оно записывается в переменную s), а также проверяет ее делимость на k. Функция имеет очень простой алгоритм. Как он работает несложно понять самому.
Далее в самой программа проходишься циклом от 1 до n и если наша функция выдает true, т. е. если число удовлетворяет требованиям программы, то к отдельной переменной прибавляешь единицу (inc(s)). В итоге в переменной s у тебя будет искомое значение.
если правильно помню используй мод и див. Одной переменной присвой счетчик, если остача от деления на твое число к=0, то счетчик +1. и по циклу перебери числа до N
Похожие вопросы
- Объясните, пожалуйста, как решить задачу по информатике...
- Помогите пожалуйста, решить данную задачу методом пузырька!!!
- объясните, пожалуйста, что такое байт? для чайников спасибо всем
- как компьютер научился распознавать компилятор Прошу объяснение для супер чайников
- Помоги те решить эту задачу C++
- Не могу решить простую задачу на С++
- Необходимо решить представленные задачи на языке Pascal:
- Как решить 10 задачу в С++? (Если можно, скиньте решение)
- Решить графически задачу нелинейного программирования
- Программисты, объясните, пожалуйста, как компьютер выполняет задачу случайного выбора числа из ряда чисел?