IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Среди всех n-значных чисел...
kvadrat
сообщение 19.04.2009 20:21
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 81
Пол: Мужской

Репутация: -  0  +


Добродушные форумщики помогите пожалуйста решить задачу в паскале или посоветуйте способ решения и алгоритм:

Среди всех n-значных чисел указать те, сумма цифр потом равна данному числу k.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
maksimla
сообщение 20.04.2009 8:43
Сообщение #2


Знаток
****

Группа: Пользователи
Сообщений: 324
Пол: Мужской
Реальное имя: maksim

Репутация: -  1  +


ты хочешь найти все числа которые равны числу k?


--------------------
Учусь первый год на программиста в колледже. Учусь на втором курсе в школе программирования при научно-исследовательском институте математики и информатики.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
kvadrat
сообщение 28.04.2009 20:31
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 81
Пол: Мужской

Репутация: -  0  +


Цитата(maksimla @ 20.04.2009 10:43) *

ты хочешь найти все числа которые равны числу k?

Именно

Забыл самое главное. Своё решение, помогите плиз исправить ошибки:
Код
program tz;
var
qwer,n,k,sum:real;
temp,pred,nach,delitel,i:integer;
begin
writeln('vvedite chislo k');
readln(k);
writeln('vvedite koli4estvo cifr v 4isle');
readln(n);
if n=1 then pred:=9;
if n=2 then pred:=99;
if n=3 then pred:=999;
if n=4 then pred:=9999;
if n=5 then pred:=32767;

if n=1 then nach:=1;
if n=2 then nach:=10;
if n=3 then nach:=100;
if n=4 then nach:=1000;
if n=5 then nach:=10000;

delitel:=10;

for i:=nach to pred do;
begin
while delitel>=10000 do;
    begin
    qwer:=pred/delitel;
    temp:=trunc(qwer);
    sum:=sum+temp;
    delitel:=delitel+10;
    end;
if sum=k then writeln('tststrewer',i)
end;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 29.04.2009 7:23
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


program tz;
var
n,k,sum:LongInt;
temp,pred,nach,i:LongInt;
begin
writeln('vvedite chislo k');
readln(k);
writeln('vvedite koli4estvo cifr v 4isle');
readln(n);
case n of
1 :
begin
nach:=1;
pred:=9;
end;
2 :
begin
nach:=10;
pred:=999;
end;
3 :
begin
nach:=100;
pred:=999;
end;
4 :
begin
nach:=1000;
pred:=9999;
end;
5 :
begin
nach:=10000;
pred:=99999;
end;
end;
for i:=nach to pred do
begin
sum:=0;
temp:=i;
while temp>0 do
begin
sum:=sum+temp mod 10;
temp:=temp div 10;
end;
if sum=k then
writeln('число равно ',i);
end;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 28.04.2024 8:38
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"