找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 3834|回复: 6

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

[复制链接]
发表于 2008-6-5 08:49 | 显示全部楼层 |阅读模式
1.用C语言编程:一个数N的阶乘(N为无穷大) 0 m' a% L2 ^: h
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 发表
: ^! d+ Q/ \" W/ E$ B太简单了,我晕

- f3 k. l% Q# j' n1 I7 I
) ]2 t4 _8 @- d# J. t2 b. n, w兄弟,你就用程序做一下这题:
0 j* J3 G1 ^' M1.用C语言编程:一个数N的阶乘(N为无穷大)5 m  x' C5 D: l4 J
* @' `/ @# K0 ^# G& Y3 W7 J
你用程序算一下10000!,看结果等于多少~
' E$ {. g0 I* C; r; b) ^7 F. n
5 a, G  Z, F8 I) c1 D; b6 k[ 本帖最后由 gzzcun 于 2008-6-5 10:28 编辑 ]
回复

使用道具 举报

发表于 2008-6-5 10:44 | 显示全部楼层
编一个圆心为(X,Y),半径为R的圆形
' \8 u, z6 c1 W1 d
8 x' y0 v( s0 K7 u, I什么意思? 画一个圆吗?- A! ^6 F0 H$ p6 j$ |+ r
2 T- T7 N6 }  S) ?7 U1 O
第一个问题有点难,因为要无穷
  E7 ?5 o( Z: @! E, i' _- a0 ~, k  @8 V! y( Y
如果是1000!还好办 自己写乘法 用字符串储存 不过就是速度慢了点
回复

使用道具 举报

发表于 2008-6-5 13:29 | 显示全部楼层
#include<stdio.h>  _: ]* y) m8 M
#define N 1000    //要计算的N6 I- w$ |0 a6 a
long s[N]={1,1},n=N,t=2,a=1,b=0,p=10000;/ h+ v, `* G1 `. @8 C/ ]" ^
int main()//雨中飞燕之作  {; e& z7 y8 G8 U' ?
{
* V6 e* Q- s1 Z0 x4 l# q    for(;a<=*s||(++t<=n?(b=0,a=1):0);(*s==a++&&b)?(*s)++:0)
+ |' u. ?$ B# V% x* x" ?7 l        s[a]=(b+=s[a]*t)%p,b/=p;
4 h' o) y2 F1 f; o) o# n    for(printf("%d",s[*s]);--*s>0;)printf("%04d",s[*s]);
1 d8 p/ Y% i. @$ |    return 0;
% j9 \  e; C6 Q( l}& X$ v. M' g) q3 }

; n' H; p- l: K) y3 X5 FPS. 搜索的,不是我写的
/ G, x* K# b5 q! `0 k3 O+ T9 U) w; {! ]  q3 J% O% F+ P
[ 本帖最后由 sort_0010 于 2008-6-5 13:30 编辑 ]
回复

使用道具 举报

发表于 2008-6-6 00:09 | 显示全部楼层
大数乘法很BT的说............7 l2 W" d3 k1 H3 R8 k
用字符型存数据得算到什么时候........1 A% Z+ j% [3 s7 _
个人觉得得用长整形+指针来做,不过编程太复杂了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-22 11:45

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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