找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 3881|回复: 6

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

[复制链接]
发表于 2008-6-5 08:49 | 显示全部楼层 |阅读模式
1.用C语言编程:一个数N的阶乘(N为无穷大)
& B1 Q5 e2 F% y- [2.用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 发表 % P5 J8 @1 ^9 _6 V2 Q5 T
太简单了,我晕

& ?$ [7 w" P6 k* o
! P, S: p2 }  i7 X: X0 Q兄弟,你就用程序做一下这题:
. i" O8 C' E+ E3 \# T$ R1.用C语言编程:一个数N的阶乘(N为无穷大)
( b4 R/ E: ?+ L5 m/ S2 a
5 e- D1 I1 y- ^- i你用程序算一下10000!,看结果等于多少~; Z8 B8 j0 t/ X/ K6 R5 q

4 u5 V6 z! s6 }  k[ 本帖最后由 gzzcun 于 2008-6-5 10:28 编辑 ]
回复

使用道具 举报

发表于 2008-6-5 10:44 | 显示全部楼层
编一个圆心为(X,Y),半径为R的圆形! e' i4 c% @  L+ n. E
# Z9 K2 E7 D4 l/ L4 N3 X% C
什么意思? 画一个圆吗?" f  k! E3 I" p# {* n1 [

+ ^  \, u2 H8 t, f2 Y3 u( ~6 q( q第一个问题有点难,因为要无穷% B. V  K& ^/ k7 b: c

2 X8 A  O( A. [3 M% C8 s0 i% B如果是1000!还好办 自己写乘法 用字符串储存 不过就是速度慢了点
回复

使用道具 举报

发表于 2008-6-5 13:29 | 显示全部楼层
#include<stdio.h>
( X2 k4 l, q5 N#define N 1000    //要计算的N8 Q$ a+ f' T5 \+ r7 J1 ^: ^
long s[N]={1,1},n=N,t=2,a=1,b=0,p=10000;
7 r* y: }) R4 O5 O0 oint main()//雨中飞燕之作
/ N; e2 ]* |/ A6 y! c0 S8 o{
" \5 x5 U, |, K. F    for(;a<=*s||(++t<=n?(b=0,a=1):0);(*s==a++&&b)?(*s)++:0)
$ r9 r* I0 {1 M  s5 O3 s2 _& C. y        s[a]=(b+=s[a]*t)%p,b/=p;, I5 [. c- v! I5 N! f, ?. |& c) ~
    for(printf("%d",s[*s]);--*s>0;)printf("%04d",s[*s]);) l/ L5 r$ D) I! e2 h( n+ O
    return 0;
2 o( V3 o: R/ h1 c}) b- f/ L" ?+ V( K
- p( k. Q  t- j/ n6 L4 {: ~
PS. 搜索的,不是我写的
) g" a5 _9 q+ c4 O4 E4 r
1 [/ x" J! H" \1 w5 k[ 本帖最后由 sort_0010 于 2008-6-5 13:30 编辑 ]
回复

使用道具 举报

发表于 2008-6-6 00:09 | 显示全部楼层
大数乘法很BT的说............
6 ^- d4 [7 l( \$ j用字符型存数据得算到什么时候........' B& t% Q+ T, J' W  q  H* @
个人觉得得用长整形+指针来做,不过编程太复杂了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-17 20:39

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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