【发布时间】:2014-11-25 23:57:19
【问题描述】:
我正在尝试创建一个消耗 xyz 的程序,数字按降序排列,并产生 1089。我必须取 xyz,反转数字,确定 xyz 之间的差异,它是反向的,并将其称为 diff,添加 diff 和它是相反的,然后得到 1089 的答案。我已经尝试了几个小时,但我无法弄清楚如何创建代码。到目前为止,我只尝试了函数,但我仍然无法让它工作。我做错了什么?:
1)
(define h 100)
(define t 10)
(define o 1)
(define (front xyz)
(number->string (substring xyz 0 1)))
(define (mid xyz)
(number->string (substring xyz 1 2)))
(define (back xyz)
(number->string (substring xyz 2 3)))
(define (reversexyz xyz)
(string->number (+ (* (back xyz) h) (* (mid xyz) t) (* (front xyz) o))))
(define (diff abc)
(- xyz (reversexyz)))
(define (frontdiff abc)
(number->string (substring frontdiff 0 1)))
(define (middiff abc)
(number->string (substring middiff 1 2)))
(define (backdiff abc)
(number->string (substring backdiff 2 3)))
(define (reversediff xyz)
(number->string (+ (* (backdiff abc) h) (* (middiff abc) t) (* (frontdiff abc) o))))
(define (magic xyz)
(+ diff reversediff))
【问题讨论】:
标签: string numbers scheme racket