hero_yw 发表于 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 编辑 ]

Eagle1983 发表于 2007-3-29 13:53:15

什么公司阿?题目这么BT。考开发的把

shanxi 发表于 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 编辑 ]

hero_yw 发表于 2007-3-29 16:16:31

唉,发现单单做业务层面上的测试真的没有什么前途。

gs6431 发表于 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环境下运行输出

gs6431 发表于 2007-3-29 16:54:43

原帖由 shanxi 于 2007-3-29 14:10 发表 http://bbs.51testing.com/images/common/back.gif
0~9十个数字
f
i
t
e
n
s
x
共7个

按位加,考虑进位


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

boliping 发表于 2007-3-29 17:21:14

回复 #5 gs6431 的帖子

强人

stardust 发表于 2007-3-29 17:41:51

真的不错, 时常可以开动脑筋锻炼一下

cleverman 发表于 2007-3-30 10:14:41

感觉第二道题不太对劲。
fifteen+ten+ten=sixteen吗?

xxl 发表于 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题看不懂什么意思

taoyi921 发表于 2007-3-30 14:00:53

第2道题好像无解????

kolecat 发表于 2007-3-30 14:13:46

fifteen
    ten
+ten
-------
sixteen

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

smartman 发表于 2007-3-30 14:50:42

第二个是错的,要不是就为全零或者后四位为零前面只要相等就可以。

gothkia 发表于 2007-3-30 15:19:57

第二题好像错了

pilouzi 发表于 2007-3-30 15:37:44

回复 #5 gs6431 的帖子

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

gothkia 发表于 2007-3-30 15:52:01

原帖由 pilouzi 于 2007-3-30 15:37 发表 http://bbs.51testing.com/images/common/back.gif
太有材了
佩服佩服
刚才我在编译器上运行了
完全正确!!!!
你是做测试的吗?
好像都了一个*吧。j=10-i,第一排9个*。基础的嵌套循环测试也要会点编程的~

kevin_park315 发表于 2007-3-30 17:00:03

强!!!

lizzi 发表于 2007-3-30 17:40:21

第二个有点难度,应该用递归算法,已经不记得了

naonao 发表于 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");
                }               

        }
}

Eagle1983 发表于 2007-3-30 18:11:31

刚刚做了一下第一题 ,还真不简单。呵呵 要的到正确的结果 还真要 Debug,Debug,Debug......
>3层嵌套我头就晕了 哈哈 特别是层之间的变量还有联系,那就更晕了 看来得回去恶补一下C了。感觉写这些小程序蛮好玩的。
页: [1] 2 3
查看完整版本: 去面试测试人员,公司给了我两道程序算法题..