> 1 <

Автор Сообщение

тимка

Members


Статус

5 сообщений

Где: Russia
Род занятий:
Возраст:

#445   2009-06-29 20:22 GMT+3 часа(ов)      
Генерация списка "счасливых" шестизначенных чисел(т.е. сумма первых трех равна сумме трех вторых)
дополнение: на вход поддаються любые начальные и конечные числа(0 0 0 0 0 0 7 7 7 7 7 7)
на выходе список "счасливых" чисел (0 0 0 0 0 0, 0 0 1 0 0 1, 0 0 1 0 1 0,.... итд)
Помогите пожалуйста...

Yakov

Members


Статус

4 сообщений
http://solveforfun.blogspot.com
Где: Russia
Род занятий: Yakov
Возраст:

#446   2009-06-29 21:11 GMT+3 часа(ов)      
Я бы сделал так.
 
#lang scheme
(define (digit-sum n)
(let-values (([q r] (quotient/remainder n 10)))
(if (< n 10)
n
(+ r (digit-sum q)))))
 
(define (lucky-numbers min max)
(define (lucky? n)
(let-values (((q r) (quotient/remainder n 1000)))
(= (digit-sum r)
(digit-sum q))))
 
(define (iter n result)
(cond ((> n max) result)
((lucky? n) (iter (+ n 1) (cons n result)))
(else (iter (+ n 1) result))))
(iter min '()))
 
(lucky-numbers 111111 777777)
 

тимка

Members


Статус

5 сообщений

Где: Russia
Род занятий:
Возраст:

#447   2009-06-30 13:28 GMT+3 часа(ов)      
Спасибо Yakov, но она не работает.

FreeV

Members


Статус

52 сообщений

Где: Russia astral
Род занятий:
Возраст:

#448   2009-06-30 13:36 GMT+3 часа(ов)      
Возможно, потому что
Цитата

#lang scheme



Тем не менее, алгоритм вполне ясен, и ваша задача реализовать его на common-lisp.
> 1 <


Онлайн :

0 пользователь(ей), 14 гость(ей) :




Реклама на сайте: