新足迹

 找回密码
 注册

精华好帖回顾

· 澳洲除了空气好,还有什么,回国不尴尬指南 (2015-3-27) wanming1986 · 冬季到北海道来看雪—干货和远方的诗(完,不排除心血来潮时再写点什么) (2018-1-26) 清墨水
· 澳大利亚税务详解 精华版 (二) (2010-1-25) taxfree · 圣诞斐济7天6夜体验游 (2011-2-5) duck
Advertisement
Advertisement
123
返回列表 发新帖
楼主:kr2000

程序员面试题(所有语言) [复制链接]

发表于 2011-7-12 21:38 |显示全部楼层
此文章由 ironcool 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 ironcool 所有!转贴必须注明作者、出处和本声明,并保持内容完整
说实话, 我根本看不明白这题目要求. 弄了半天才figure out它想要什么

#include <stdio.h>
void test( int& x, int& cnt, int& no ) {
    x += 3; cnt ++;
    if( cnt%2 ==0 ) {
        printf("eek\n");
        no++;
        if( no==17 )
            printf("yikes\n");
    }
    else if( cnt%13==0 )
        printf("eep\n");
    if( cnt >= 100 ) return;
   
    test(x, cnt, no);
}

int main(void) {
    int x=0, cnt =0, no =0;
    test(x, cnt, no);
Advertisement
Advertisement

特殊贡献奖章

发表于 2011-7-12 23:27 |显示全部楼层
此文章由 kr2000 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 kr2000 所有!转贴必须注明作者、出处和本声明,并保持内容完整
祝大家在找工作的时候遇到这个题哈

发表于 2011-7-14 11:07 |显示全部楼层
此文章由 ingeer 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 ingeer 所有!转贴必须注明作者、出处和本声明,并保持内容完整
來點刺激的。。


#include "StdAfx.h"

using namespace std;

template <int N, int C>
struct condition
{
        enum { bConditon = ( (N % C + 1) % C) == 0 };
};


template <int N>
struct eek
{
        enum { bPrint = condition<N, 2>::bConditon };
};

template <int N>
struct eep
{
        enum {bPrint = condition<N, 13>::bConditon };
};


template <int N>
struct yikes
{
        enum { bPrint = condition<N, 34>::bConditon  };
};


template <int N>
struct TFun
{
        enum { X = N * 3 };
        static void fun()
        {
                std::cout << "N=" << N << "  X=" << X;

                std::cout << ( eek<N>::bPrint ? " eek " : "")
                                        << ( eep<N>::bPrint ? " eep " : "")
                                        << ( yikes<N>::bPrint ? " yikes " : "")
                                        << std::endl;
                TFun<N+1>::fun();
        }
};

struct TFun<100>
{
        static void fun()
        {
        }
};

void main()
{
        TFun<0>::fun();
}

发表于 2011-7-14 14:39 |显示全部楼层
此文章由 Hehai 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 Hehai 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我也是征婚帖跑过来的,呵呵
c#
--------------------------------------------
        static void Main(string[] args)
        {
            LoopFunction(0);
            Console.ReadLine();
        }
        static void LoopFunction(int x)
        {
            var y = x/3 +1;
            if (y>100) return;
            if (y % 2 == 0) Console.WriteLine(y + " eek");
            if (y % 13 == 0) Console.WriteLine(y + " eep");
            if (y == 17*2) Console.WriteLine(y + " yikes");
            x += 3;
            LoopFunction(x);
        }

[ 本帖最后由 Hehai 于 2011-7-14 13:41 编辑 ]

发表于 2011-8-10 20:07 |显示全部楼层
此文章由 tusizi33 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 tusizi33 所有!转贴必须注明作者、出处和本声明,并保持内容完整
java的
public class loop100{
  public static void main(String[] args){
       int x = 0;
      loop(x);
}//main
  public static loop(int x){
    // loop 100 times
   if(x<300){
     if(((x/3)+1)%2)==0)
        //every 2nd loop
    System.out.println("eek");
   
   if(((x/3)+1)%13)==0)
         //every 13nd loop
    System.out.println("eep");

   if(((x/3)+1)%17)==0)
          //every 17nd loop
    System.out.println("yikes");

      x+=3;
    loop(x);
}
else return;
}
}

发表于 2011-8-10 22:45 |显示全部楼层
此文章由 syystudent 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 syystudent 所有!转贴必须注明作者、出处和本声明,并保持内容完整
幸亏我工作不用编程....
Advertisement
Advertisement

发表于 2011-8-10 23:36 |显示全部楼层

我也献丑弄一个scala 的

此文章由 收路费 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 收路费 所有!转贴必须注明作者、出处和本声明,并保持内容完整
compile 后可以用java 直接运行(要把scala library 放classpath 里)

object Test {
  def main(args: Array[String]){
    val numbers = Range.inclusive(0, 300, 3).toList
    reduce(numbers(0), numbers.drop(1)) foreach println
  }

  def reduce(head : Int, tail : List[Int]) : List[String] = {
    val headList = List(map(head))
    if (tail.size == 0) return headList
    return headList ::: reduce (tail(0), tail.drop(1))
  }

  def map(number : Int) : String = {
    var output = ""
    if ( number % 6 == 0 ) output = output + "eek"
    if ( number % 39 == 0 ) output = output + "eep"
    if ( number == 102 ) output = output + "yikes"
    if ( output.length() == 0 || number == 0 ) output = number.toString
    return output
  }
}

发表于 2011-8-10 23:54 |显示全部楼层
此文章由 收路费 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 收路费 所有!转贴必须注明作者、出处和本声明,并保持内容完整
原帖由 MaxChan 于 2011-5-12 00:01 发表
recursion里有一种叫tail recursion,但凡tail recursion的代码都可以被optimization成非recursion的,现在的编译器在编译时基本都把tail recursion编译成非recursion版本,因此,关于堆栈溢出的问题其实不用多考虑,只要把rec ...

您说了我的心里话

发表于 2011-8-13 21:10 |显示全部楼层
此文章由 aperson 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 aperson 所有!转贴必须注明作者、出处和本声明,并保持内容完整
好久没有做题了。也就只会SQL了。 我就来一个SQL版

With RecursiveBlock as
(
        SELECT 0 as X, CAST('eek' AS VARCHAR) AS DISPLAY
        UNION ALL
        SELECT
                X+3 as X
                , CAST(CASE
                        WHEN (X+3)%6=0 THEN CASE WHEN (X+3)=102 THEN 'yikes' ELSE 'eek' END
                        WHEN (X+3)%39=0 THEN 'eep'
                        ELSE ''
                END AS VARCHAR) AS DISPLAY
        FROM RecursiveBlock WHERE X<300
)
SELECT * FROM RecursiveBlock

[ 本帖最后由 aperson 于 2011-8-13 22:37 编辑 ]

发表于 2012-6-13 21:48 |显示全部楼层

回复 ingeer 63# 帖子

此文章由 tingli 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 tingli 所有!转贴必须注明作者、出处和本声明,并保持内容完整
ingeer的meta programming做法没有使用recursive  function。
因为函数的调用过程是main调用TFun<0>::fun调用TFun<1>::fun调用TFun<2>::fun......
直到TFun<100>::fun结束。这个过程中没有任何一个函数调用了自身。

[ 本帖最后由 tingli 于 2012-6-13 20:54 编辑 ]

发表于 2012-6-14 12:43 |显示全部楼层

vbscript

此文章由 turquois 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 turquois 所有!转贴必须注明作者、出处和本声明,并保持内容完整
Option Explicit
Dim x
Dim Output
x=0
Output = x & vbCrlf
Call readX(x)
wscript.echo Output
wscript.Quit

Sub readX(x)
        x = x + 3
        Output = Output & x & "     "
        If x = 300 then
                Exit Sub
        End If
        If x Mod 2 = 0 then
                Output = Output & "eek "
        End If
        If x Mod 13 = 0 then
                Output = Output & "eep "
        End If
        If x Mod 17 = 0 then
                Output = Output & "yikes"
        End if
        Output = Output & vbCrlf
        Call readX(x)
End Sub
Advertisement
Advertisement

发表于 2013-5-18 15:03 |显示全部楼层
此文章由 LifesoCool 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 LifesoCool 所有!转贴必须注明作者、出处和本声明,并保持内容完整
看了挖坟帖子,半年前面试遇到过,写出来了倒是。

发表于 2013-5-18 15:15 |显示全部楼层
此文章由 yangwulong1978 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 yangwulong1978 所有!转贴必须注明作者、出处和本声明,并保持内容完整
面试其实就是看你顺眼不顺眼。有次给阿三面试 这厮 在那吹的。把经理都快吹晕了。经理问我有什么问的。 我不冷不淡的 让他来个 红黑树排序。 这厮就安静了

发表于 2013-5-20 15:55 |显示全部楼层
此文章由 很明显 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 很明显 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这也就用来唰掉菜鸟。。。

没有一个实际的问题,不需要思考的题目

发表于 2013-5-20 15:59 |显示全部楼层
此文章由 workflow 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 workflow 所有!转贴必须注明作者、出处和本声明,并保持内容完整
妈呀,面试要还要考这个,扭头就走

发表于 2013-5-20 16:09 |显示全部楼层
此文章由 袋鼠 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 袋鼠 所有!转贴必须注明作者、出处和本声明,并保持内容完整
这个不就是个for loop or while loop就得了嘛。讲究点把code style搞好点,加点constant什么的。什么recursive的,有必要吗?其实senior developer更需要的是business domain knowledge,而不是在这种细支末节。这种东西完全脱离实际,更像是课堂作业。
Advertisement
Advertisement

退役斑竹

发表于 2013-5-27 17:46 |显示全部楼层
此文章由 dingyipu 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 dingyipu 所有!转贴必须注明作者、出处和本声明,并保持内容完整
我还以为应该让电脑自己算,结果大家都算好了,把39之类的直接填进程序了啊...看来我理解错了...

发表于 2013-5-30 03:08 |显示全部楼层
此文章由 thecatinthehat 原创或转贴,不代表本站立场和观点,版权归 oursteps.com.au 和作者 thecatinthehat 所有!转贴必须注明作者、出处和本声明,并保持内容完整
学习了。

发表回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Advertisement
Advertisement
返回顶部