工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 3709|回复: 6

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

[复制链接]
发表于 2008-6-5 08:49 | 显示全部楼层 |阅读模式
1.用C语言编程:一个数N的阶乘(N为无穷大) 6 |* V! R; X4 |; L5 k
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 发表 7 n& x: v, ~4 A
太简单了,我晕

8 ]2 c" Z) D2 _- w3 \! k6 U/ {; h- s
兄弟,你就用程序做一下这题:" r! D/ p, h, r/ M# f3 X0 H3 X
1.用C语言编程:一个数N的阶乘(N为无穷大)7 r, g6 H) J! J, b
  o( L$ j. P( r4 Z0 ~
你用程序算一下10000!,看结果等于多少~
9 v) s$ b0 r5 e/ C: Y9 {! i  \8 F0 E1 Y8 w7 ?6 N
[ 本帖最后由 gzzcun 于 2008-6-5 10:28 编辑 ]
回复

使用道具 举报

发表于 2008-6-5 10:44 | 显示全部楼层
编一个圆心为(X,Y),半径为R的圆形
$ v" S3 ?3 @1 }: M8 _6 N
4 v' i- X4 g9 q0 g- ^% o$ s9 y* q什么意思? 画一个圆吗?: u3 [+ r2 q6 N/ I7 k
2 e9 S5 x3 ]6 O/ A: A9 s; ^
第一个问题有点难,因为要无穷: P. Q* o8 Q: M& J
, n- }! K4 |3 I& b& n- s) z
如果是1000!还好办 自己写乘法 用字符串储存 不过就是速度慢了点
回复

使用道具 举报

发表于 2008-6-5 13:29 | 显示全部楼层
#include<stdio.h>. {1 E- |# L4 ~; U
#define N 1000    //要计算的N, \5 @3 A9 s' J6 Z# V* b
long s[N]={1,1},n=N,t=2,a=1,b=0,p=10000;. m5 J+ k. F0 Q$ c5 D$ S5 i! p
int main()//雨中飞燕之作
- z4 N1 ?' e5 B* i{
. D/ t* M! E' w- u4 ?: |    for(;a<=*s||(++t<=n?(b=0,a=1):0);(*s==a++&&b)?(*s)++:0)0 @/ C# q: I/ K  h9 f* b4 m% e
        s[a]=(b+=s[a]*t)%p,b/=p;# i6 J+ ]  ]* u/ {
    for(printf("%d",s[*s]);--*s>0;)printf("%04d",s[*s]);1 D  F# Q9 j' l" p; I1 \' \
    return 0;
) {: `+ H; I' d% x}$ W* z8 }7 s% A* a2 F" a

0 Q1 R1 o8 G2 r3 g1 l3 {PS. 搜索的,不是我写的
/ S/ J2 g% L" u9 c* [' Y3 \9 w- m" R5 f6 c: _" n
[ 本帖最后由 sort_0010 于 2008-6-5 13:30 编辑 ]
回复

使用道具 举报

发表于 2008-6-6 00:09 | 显示全部楼层
大数乘法很BT的说............
0 {0 ]5 n3 i& O/ y7 \! U用字符型存数据得算到什么时候........
% G4 K8 w: Z% S个人觉得得用长整形+指针来做,不过编程太复杂了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-26 14:01

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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