微软曾经笔试题答案

1. 1000!有几位数为什么

f(1000!) = [lg(1000!)] + 1

lg(1000!) = lg(1) + lg(2) ...... +lg(1000)

= lg 函数 从1 到 1000的积分

= 1 + 1/ln10* (1000ln1000 - 1000 + 1)

2.  

F(n)=1 n>8 n<12

F(n)=2 n<2

F(n)=3 n=6

F(n)=4 n=other

使用+ - * / 数字以及 sign(n) 函数组合出 F(n) 函数
sign(n)=0 n=0
sign(n)=-1 n<0
sign(n)=1 n>0

#define a0 (sign(n-8) * sign(n-12))
#define a (sign(a0+1) * sign(a0+1))
#define b0 (sign(n-2))
#define b (sign(b0+1) * sign(b0+1))
#define c0 (sign(n-6))
#define c (sign(c0) * sign(c0))
#define d (1 - sign(a*b*c))
#define F(n) ((1-a) + (1-b)*2 + (1-c)*3 + (1-d)*4)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值