51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 13941|回复: 52
打印 上一主题 下一主题

[原创] 去面试测试人员,公司给了我两道程序算法题..

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-3-29 13:37:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
去面试系统测试人员,公司给了我两道程序算法题,好久没写程序,都想不起来了,我要晕了。
1,写程序输出这段字符
********1
*******121
******12321
*****1234321
****123454321
***12345654321
**1234567654321
*123456787654321
12345678987654321

2,下面公式的每个字母代表一个0-9的数字,编程计算出每个字母是几?
fifteen
    ten
+  ten
-------
sixteen

[ 本帖最后由 hero_yw 于 2007-3-29 13:49 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-3-29 13:53:15 | 只看该作者
什么公司阿?题目这么BT。考开发的把
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-3-29 14:10:44 | 只看该作者
0~9  十个数字
f
i
t
e
n
s
x
共7个

按位加,考虑进位
按照题目对齐形式无解:

3*n末位仍然是n,得出n=5或者0
=>如果n=5,有进位那么3*e+1末位仍然是e,e不存在
=>所以n=0,3*e末位仍然是e,得出e=5
        =>如果e=5,有进位那么e+2*t+1仍然是e,也就是6+2*t进位后仍是5

fift550
    t50
    t50
---------
sixt550

[ 本帖最后由 shanxi 于 2007-6-20 14:49 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2007-3-29 16:16:31 | 只看该作者
唉,发现单单做业务层面上的测试真的没有什么前途。
回复 支持 反对

使用道具 举报

该用户从未签到

5#
发表于 2007-3-29 16:35:38 | 只看该作者
main ()
{
        int i,j,k,t;
        for(i=1;i<10;i++)
        {
                for(j=10-i;j>0;j--)
                        printf("*");
        for(k=1;k<=i;k++)
                    printf("%d",k);
                for(t=i-1;t>0;t--)
                    printf("%d",t);
                printf("\n");
        }

}
第一个题目的答案,可以在VC环境下运行输出
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-3-29 16:54:43 | 只看该作者
原帖由 shanxi 于 2007-3-29 14:10 发表
0~9  十个数字
f
i
t
e
n
s
x
共7个

按位加,考虑进位



能不能详细说说啊 ?最好把答案贴出来,呵呵
我没看明白那个公式
回复 支持 反对

使用道具 举报

该用户从未签到

7#
发表于 2007-3-29 17:21:14 | 只看该作者

回复 #5 gs6431 的帖子

强人
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-3-29 17:41:51 | 只看该作者
真的不错, 时常可以开动脑筋锻炼一下
回复 支持 反对

使用道具 举报

该用户从未签到

9#
发表于 2007-3-30 10:14:41 | 只看该作者
感觉第二道题不太对劲。
fifteen+ten+ten=sixteen吗?
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-3-30 13:04:55 | 只看该作者
for(int i = 1; i <= 9; i++)
          {
                  for(int j = 1; j <= 9 - i; j++)
                  {
                          System.out.print("*");
                  }

                  for(int m = 1; m <= i; m++)
                  {
                          System.out.print(m);
                  }

                  for(int n = i - 1; n >= 1; n--)
                  {
                          System.out.print(n);
                  }

                  System.out.println();
          }

第2题看不懂什么意思
回复 支持 反对

使用道具 举报

该用户从未签到

11#
发表于 2007-3-30 14:00:53 | 只看该作者
第2道题好像无解????
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-3-30 14:13:46 | 只看该作者
fifteen
    ten
+  ten
-------
sixteen

题目是不是有问题?  假设三个百位数上的字母相加(e+t+t),就算都是最大数9,也不过是27,进千为数2,这两位数进入千位后,居然保持t无变化?而万位数的 f 变成了 x ?
回复 支持 反对

使用道具 举报

该用户从未签到

13#
发表于 2007-3-30 14:50:42 | 只看该作者
第二个是错的,要不是就为全零或者后四位为零  前面只要相等就可以。
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2007-3-30 15:19:57 | 只看该作者
第二题好像错了
回复 支持 反对

使用道具 举报

该用户从未签到

15#
发表于 2007-3-30 15:37:44 | 只看该作者

回复 #5 gs6431 的帖子

太有材了
佩服佩服
刚才我在编译器上运行了
完全正确!!!!
你是做测试的吗?
回复 支持 反对

使用道具 举报

该用户从未签到

16#
发表于 2007-3-30 15:52:01 | 只看该作者
原帖由 pilouzi 于 2007-3-30 15:37 发表
太有材了
佩服佩服
刚才我在编译器上运行了
完全正确!!!!
你是做测试的吗?

好像都了一个*吧。j=10-i,第一排9个*。基础的嵌套循环测试也要会点编程的~
回复 支持 反对

使用道具 举报

该用户从未签到

17#
发表于 2007-3-30 17:00:03 | 只看该作者
强!!!
回复 支持 反对

使用道具 举报

该用户从未签到

18#
发表于 2007-3-30 17:40:21 | 只看该作者
第二个有点难度,应该用递归算法,已经不记得了
回复 支持 反对

使用道具 举报

该用户从未签到

19#
发表于 2007-3-30 18:10:42 | 只看该作者
public class test01
{
        public static void main(String[] args)
        {
                int m=9;
                for(int i=1;i<=m;i++)
                {               
                        int n=m-i;
                        if (n>0){
                                for        (int j=0;j<n;j++){
                                        System.out.print("*");       
                                }
                        }
                        int k=0;
                        for(k=k+1;k<=i;k++)
                        {
                                System.out.print(k);       
                        }
                        for(k=k-1;k>1;k--)
                        {
                                System.out.print(k-1);       
                        }
                        System.out.print("\n");
                }               

        }
}
回复 支持 反对

使用道具 举报

该用户从未签到

20#
发表于 2007-3-30 18:11:31 | 只看该作者
刚刚做了一下第一题 ,还真不简单。呵呵 要的到正确的结果 还真要 Debug,Debug,Debug......
>3层嵌套我头就晕了 哈哈 特别是层之间的变量还有联系,那就更晕了 看来得回去恶补一下C了。感觉写这些小程序蛮好玩的。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-10-6 02:32 , Processed in 0.110388 second(s), 27 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表