ALOGOC(A Language to Generate Only Constants)语言
   

  一位模糊计算机科学家想研究一种新的程序设计语言ALGOC,一种仅能产生常数的语言。这种语言很简单,它只有四种命令:

  _ PLUSONE - 产生常数1。
  _ MINUSONE - 产生常数-1。
  _ INC - 将常数加1。
  _ DUP - 将常数乘2。

  这种语言的一个程序是这些命令的序列,每行一语句,连续执行。科学家要使用这种语言写的程序简单,小且快。为了达到这个目的,他增加以下结构:

  - 每个程序必须以PLUSONE 或MINUSONE语句开始。
  - 给定的常数C ,必须用尽可能少的命令。
  - 如果一个常数C可以由若干个程序产生(所有程序的命令数目相同),那么要选择最快的一个程序。为止,假设命令DUP执行速度为Tns,INC命令的速度为2Tns。

  教授给你若干个常数,你的任务是用以上语言结构编程产生这些常量。

  Input Format

  输入文件包含若干个这个问题的不同数据,每个数据只有一行,包含要产生的常数。所有的常数为非零整数介于-32768到32767之间。最后一行数据之后为数0表示输入结束。

  Output Format

  对于每个不同问题,你的程序要打印的第一行为常数XXX,然后是产生这个数的命令序列(每行一个命令。

  Sample Input

  3
  -5
  1
  7
  0

  Sample Output

  Constant 3
  PLUSONE
  DUP
  INC
  Constant -5
  MINUSONE
  DUP
  DUP
  INC
  DUP
  INC
  Constant 1
  PLUSONE
  Constant 7
  PLUSONE
  DUP
  INC
  DUP
  INC

   

 
网站导航 | 关于曙光 | 联系我们 | 请提意见
Copyright © FuJian Sunshine Educational Info. Co.,Ltd.
福建曙光教育资讯有限公司 版权所有