请问一道题
请教一道题
题目:
在手机键盘,我们可以发现26个字母分布在2-9这8个数字键上。某人的电话号码是65967427,观察单词“olympics”,可以发现:字母o位于数字键6上,字母l位于数字键5上,… 字母s 位于数字键7上。此时,我们说olympics是65967427对应的一个字母组合。65967427还可以对应其它很多种字母组合,例如:mjwmpgap也是其中之一。以C语言编写函数 :int transfer(int number)。该函数的输入为一个电话号码(允许输入为3位到11位的十进制数),在屏幕上输出该数字对应的所有字母组合,并返回组合的总数。如果数字中包含1或者0,由于没有与之对应的字母,则直接返回0。当数字小于3位或者大于11位时,亦没有对应字母组合,返回0。
我只能想到递归··请教高手!~还有就是int类型能表示11位整数吗?
------解决方案--------------------
还有就是int类型能表示11位整数吗
不行,只能用数组或者__int64
------解决方案--------------------
题目:
在手机键盘,我们可以发现26个字母分布在2-9这8个数字键上。某人的电话号码是65967427,观察单词“olympics”,可以发现:字母o位于数字键6上,字母l位于数字键5上,… 字母s 位于数字键7上。此时,我们说olympics是65967427对应的一个字母组合。65967427还可以对应其它很多种字母组合,例如:mjwmpgap也是其中之一。以C语言编写函数 :int transfer(int number)。该函数的输入为一个电话号码(允许输入为3位到11位的十进制数),在屏幕上输出该数字对应的所有字母组合,并返回组合的总数。如果数字中包含1或者0,由于没有与之对应的字母,则直接返回0。当数字小于3位或者大于11位时,亦没有对应字母组合,返回0。
我只能想到递归··请教高手!~还有就是int类型能表示11位整数吗?
------解决方案--------------------
还有就是int类型能表示11位整数吗
不行,只能用数组或者__int64
------解决方案--------------------
- C/C++ code
int transfer(int number)。
------解决方案--------------------
int 20多亿吧.过了就越界了
------解决方案--------------------
------解决方案--------------------