工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 3569|回复: 6

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

[复制链接]
发表于 2008-6-5 08:49 | 显示全部楼层 |阅读模式
1.用C语言编程:一个数N的阶乘(N为无穷大)
/ S7 I$ N% g8 u! J6 ^7 x) E2.用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 发表
+ B# @& {+ L. o5 ?7 T$ S( y, H太简单了,我晕

0 N( L4 S4 {( Z6 N7 |
0 R& I: V, ~/ A$ ]! z/ l! \  r+ R兄弟,你就用程序做一下这题:9 ?* t* m% u, |; d
1.用C语言编程:一个数N的阶乘(N为无穷大)
0 C3 }5 t8 p. p* O' f. u( E1 H: V# Q
你用程序算一下10000!,看结果等于多少~' g* o& U2 q3 x- J, P& c0 y! t

+ E/ b7 b0 p& k. |7 Q[ 本帖最后由 gzzcun 于 2008-6-5 10:28 编辑 ]
回复

使用道具 举报

发表于 2008-6-5 10:44 | 显示全部楼层
编一个圆心为(X,Y),半径为R的圆形1 }( A" e, f, g5 g
- ?/ Y/ F9 I) s
什么意思? 画一个圆吗?  y% }$ C. `* b# ^9 E
4 k( @/ R1 z& u
第一个问题有点难,因为要无穷
: ~& y) ?9 t* o. P9 Y8 m) Z7 i' \% J1 B1 C8 @* `: X
如果是1000!还好办 自己写乘法 用字符串储存 不过就是速度慢了点
回复

使用道具 举报

发表于 2008-6-5 13:29 | 显示全部楼层
#include<stdio.h>3 |- M2 |7 V8 a. ~7 |% @* J9 [- J
#define N 1000    //要计算的N
- Q4 k; H  s1 B/ H9 `long s[N]={1,1},n=N,t=2,a=1,b=0,p=10000;2 X7 }5 y, ], v" v
int main()//雨中飞燕之作5 e3 j9 m& ?$ s, ^$ `8 @
{
) @3 D7 d& d* [4 t    for(;a<=*s||(++t<=n?(b=0,a=1):0);(*s==a++&&b)?(*s)++:0)0 l- h* m" f$ x* r" g8 F
        s[a]=(b+=s[a]*t)%p,b/=p;
" P5 S" E2 n$ K- j4 |    for(printf("%d",s[*s]);--*s>0;)printf("%04d",s[*s]);( o) [8 ?0 u" p
    return 0;
; @' \2 P  K1 r$ \1 j  l}
" g0 w8 d% y2 o# X( v' {( d* B& j2 ^/ O' w
PS. 搜索的,不是我写的
3 v! ~, S$ w( M" x( j& u6 b5 |0 \: |' u2 [0 Z% S/ a
[ 本帖最后由 sort_0010 于 2008-6-5 13:30 编辑 ]
回复

使用道具 举报

发表于 2008-6-6 00:09 | 显示全部楼层
大数乘法很BT的说............
3 R$ r( |9 S' o0 D. j1 j' N1 }9 f$ |  R5 ~用字符型存数据得算到什么时候......... P6 y! L* C2 B
个人觉得得用长整形+指针来做,不过编程太复杂了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-5-13 02:25

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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