找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 3858|回复: 6

[提问] 请教两C语言算法:(面试时碰到的题目)

[复制链接]
发表于 2008-6-5 08:49 | 显示全部楼层 |阅读模式
1.用C语言编程:一个数N的阶乘(N为无穷大)
# o  `9 O6 p- l) S2.用C语言编一个圆心为(X,Y),半径为R的圆形
发表于 2008-6-5 09:11 | 显示全部楼层
LZ还是不要去面技术的了 呵呵
回复

使用道具 举报

发表于 2008-6-5 09:54 | 显示全部楼层
太简单了,我晕
回复

使用道具 举报

发表于 2008-6-5 10:06 | 显示全部楼层
原帖由 我不是新仔 于 2008-6-5 09:54 发表 3 r; P0 `; _$ [4 `  h
太简单了,我晕
, {9 e, \6 ^  v0 B
# p  i/ g- r4 B( ^2 `2 l: Y
兄弟,你就用程序做一下这题:
7 c  n, A; v% d7 h- b7 @: Y+ k! V/ r1.用C语言编程:一个数N的阶乘(N为无穷大)* L2 g. a7 L0 a, B: B. a( Q: _

7 D2 e$ I- |* Y1 q# y3 m你用程序算一下10000!,看结果等于多少~5 r" @/ K3 n3 _9 B
2 k& t  ?9 E$ c5 R8 |
[ 本帖最后由 gzzcun 于 2008-6-5 10:28 编辑 ]
回复

使用道具 举报

发表于 2008-6-5 10:44 | 显示全部楼层
编一个圆心为(X,Y),半径为R的圆形" b8 N" n: L' A5 d% s

4 U; b# i# r  y2 N, |/ w: D7 Q( ^什么意思? 画一个圆吗?
% b6 y/ ]! C7 M
- b9 a2 h) B3 d" p: x8 x4 {第一个问题有点难,因为要无穷! H4 d" C" q) l2 Z& D
- q* \& K# @5 h2 x; y0 H+ ?/ t
如果是1000!还好办 自己写乘法 用字符串储存 不过就是速度慢了点
回复

使用道具 举报

发表于 2008-6-5 13:29 | 显示全部楼层
#include<stdio.h>
0 U# i% @* z+ C% x#define N 1000    //要计算的N
8 M* Q, V8 G- C% S- o; s1 Ylong s[N]={1,1},n=N,t=2,a=1,b=0,p=10000;/ i2 \! x, ]0 |
int main()//雨中飞燕之作
0 p2 y- a3 j( Q' B0 S, r$ M{- I$ s/ y1 g2 _; c; f9 e. A* g
    for(;a<=*s||(++t<=n?(b=0,a=1):0);(*s==a++&&b)?(*s)++:0)  o! D0 i7 Z# [
        s[a]=(b+=s[a]*t)%p,b/=p;7 S6 {4 ~. Q) i# W6 X8 a
    for(printf("%d",s[*s]);--*s>0;)printf("%04d",s[*s]);4 [9 V) X* o7 F, Q* s' N4 `
    return 0;4 p* X5 R# S. [9 B0 b) G! ^
}
! M' d* J7 P1 j  ^4 _. Q$ S3 E6 E# w& _6 Q# F+ m" T5 s: d5 i
PS. 搜索的,不是我写的
$ {: z# a" u; b2 F. N" v0 ~5 @* L# h8 R1 v; g; y
[ 本帖最后由 sort_0010 于 2008-6-5 13:30 编辑 ]
回复

使用道具 举报

发表于 2008-6-6 00:09 | 显示全部楼层
大数乘法很BT的说............
; f/ b9 d4 J/ W1 t5 Y用字符型存数据得算到什么时候......... a1 A8 V7 y  }7 t
个人觉得得用长整形+指针来做,不过编程太复杂了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入后院

本版积分规则

QQ|Archiver|手机版|小黑屋|广告业务Q|工大后院 ( 粤ICP备10013660号 )

GMT+8, 2026-3-3 11:00

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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