24小时热门版块排行榜    

查看: 214  |  回复: 1
当前主题已经存档。
【有奖交流】积极回复本帖子,参与交流,就有机会分得作者 白欣 的 20 个金币

白欣

铜虫 (小有名气)

[交流] 【求助】请高手帮忙解题!

Cryptarithmetic
Cryptarithmetic involves arithmetic on numbers where the digits have been encoded as letters.

A cryptarithmetic puzzle usually requires you to work out which digit each letter stands for. For example, if you are told that someone has to use some eye medication twice in order to see, so:
USE + USE = SEE
you have to work out that E stands for 0, S stands for 5, and U stands for 2, so the unencoded expression is:
250 + 250 = 500

In this assignment the task is simplified to repeatedly working out the result of a cryptarithmetic operation given the encoding scheme, e.g. given what the letters stand for and the following expression:
USE + USE
your program will have to unencode the encoded numbers into ints, do the arithmetic operation and encode the result, so as to work out that:
USE + USE = SEE
(Hint: Make sure that you understand the String methods, such as indexOf, before you try to work out how to unencode and encode.)

The arithmetic is to be done as integer arithmetic, e.g. 3/2 = 1, and all numbers will be such that the actual arithmetic can be done with ints, and will never involve negative numbers.

(You can look up more about cryptarithmetic on e.g. Wikipedia, but you may not use any code that you find there, or elsewhere, which relates to cryptarithmetic — not even as a starting point for your own code.)

User Interaction
The program must first explain to the user how to use it.

It must then repeatedly ask the user what they want to do next.

Whenever the user enters "Cryptarithmetic" (without quotes) after being asked what to do next, the program will:

Prompt the user to enter a one operation cryptarithmetic expression, starting with the encoding.
Read 4 Strings, using Scanner's next() method. The strings represent:
The encoding scheme, identifying the letters for digits in order from the letter for 0, e.g. "EAUBCSDFGH" (without quotes) would show that 0 is represented by E, 1 is represented by A, 2 is represented by U, ..., 5 is represented by S, ... 9 is represented by H.
The first operand, e.g. "USE" (without quotes).
The operator, e.g. "+" (without quotes).
The second operand, e.g. "USE" (without quotes).
If it was a valid cryptarithmetic encoding and expression, output (with appropriate spacing) the cryptarithmetic expression with = and result for what the user entered, e.g.:
USE + USE = SEE
Otherwise output an error message. The encoding and expression are to be considered valid, if (and only if) all the following are true:
The encoding string contains exactly 10 characters.
Every character in the encoding string is an upper case letter.
Every character in the encoding string is different from every other character in the encoding string.
Every character in the first operand is in the encoding string.
The operator string contains exactly one character.
The character in the operator string is one of the standard Java arithmetic operators: +, -, *, /, %.
Every character in the second operand is in the encoding string.

If the user enters anything other than "Cryptarithmetic" (without quotes) after being asked what to do next, the program must stop, returning from the main().

This link shows an example of user interaction of the appropriate form. (The user has indented each thing they enter so that you can see which lines they enter and which the computer has produced. This has only been done for ease of reading. Your program will be tested without such indenting.)

You must make up your own (appropriate) messages to the user, but your program must accept input of exactly the form specified, and display the cryptarithmetic results as specified. (We must be able to test your program automatically by feeding it input of the specified form and easily comparing the output produced with the expected output

主要就是说E A U B C S D F G H
                  0 1 2 3 4 5 6 7 8 9
这些对应,然后进行一个循环运算的编程,有高手有答案的,请帮忙,万分感谢!!!

[ Last edited by 白欣 on 2009-9-10 at 23:01 ]
回复此楼
上善若水,厚德载物!
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jjdg

版主 (知名作家)

优秀版主


余泽成(金币+1,VIP+0):支持参与应助,欢迎常来程序软件版! 10-9 12:36
这是要求编一个java做加密的吧!
USE+USE=SEE好像不符合Every character in the encoding string is different from every other character in the encoding string着一条啊!
努力学习!以正当途径!获得需要的知识!
2楼2009-10-09 11:58:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 白欣 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 国社科又开始会评了,不知道这次命运如何 +8 雨打竹帘 2026-08-30 12/600 2026-09-03 06:24 by sincosx
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +8 gdd2018 2026-08-28 13/650 2026-09-03 06:22 by 羽毛枫f
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 ero8OE6tv9cu 2026-09-02 4/200 2026-09-03 03:14 by rM1TE0WVDIIY
[博后之家] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 ero8OE6tv9cu 2026-09-02 6/300 2026-09-02 23:59 by rM1TE0WVDIIY
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +14 Kittylucky 2026-08-27 15/750 2026-09-02 19:35 by liumei0601
[基金申请] 科研人应该花精力去思考如何解决问题,而不是去凝练问题 +7 瞬息宇宙 2026-09-01 14/700 2026-09-02 17:33 by ma0526
[基金申请] 要骂人了,新模版改版就是要淡化问题凝练这种虚的东西,结果有个评委还在说凝练得不够 +9 瞬息宇宙 2026-08-31 17/850 2026-09-02 14:04 by anjeeshine
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 10/500 2026-09-02 11:35 by 大不刘6
[基金申请] 学科评审组评审是指会评吗? +5 瞬息宇宙 2026-08-31 5/250 2026-09-02 10:13 by 雨冰共舞
[基金申请] 面上函评意见出来了,像什么等级? 20+4 Tsingking1 2026-08-27 17/850 2026-09-01 19:51 by 超级无敌华子
[论文投稿] 小白求助 投论文要求的highlights应该如何写 5+3 l1963982152 2026-08-29 4/200 2026-09-01 09:04 by 北京莱茵编辑
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 面上意见出来了 +12 黄鸟于飞Chao 2026-08-29 23/1150 2026-08-31 18:57 by 黄鸟于飞Chao
[基金申请] 能否申诉? +7 echo8914667 2026-08-30 8/400 2026-08-31 17:00 by yihongxu
[基金申请] 中青基了要发朋友圈吗? +7 349506619 2026-08-28 7/350 2026-08-31 13:39 by 冼亮淀粉酶
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 为什么到现在没收到通知? +5 tannykie 2026-08-29 5/250 2026-08-30 21:05 by purplejack
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
信息提示
请填处理意见