找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 3937|回复: 6

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

[复制链接]
发表于 2008-6-5 08:49 | 显示全部楼层 |阅读模式
1.用C语言编程:一个数N的阶乘(N为无穷大) : B  a( Z' O' E- J
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 发表
$ C0 C% h0 D7 b  H太简单了,我晕

% V4 I7 \1 x; q$ z; `7 d+ O# v! U3 Q# ]
兄弟,你就用程序做一下这题:% w' j8 K+ z' f
1.用C语言编程:一个数N的阶乘(N为无穷大)
, a3 T' u+ L6 e3 Y1 l6 t; s$ l1 G+ d/ N0 S  G5 n- y" N
你用程序算一下10000!,看结果等于多少~1 i, O# m2 m0 _% S7 h- |+ n
, b# q! w6 {: {: g
[ 本帖最后由 gzzcun 于 2008-6-5 10:28 编辑 ]
回复

使用道具 举报

发表于 2008-6-5 10:44 | 显示全部楼层
编一个圆心为(X,Y),半径为R的圆形
  e5 S. X: Q. y1 ?
7 V5 e- O! \1 \& w什么意思? 画一个圆吗?. D& o7 F6 Y9 e$ s; C  o  @+ W+ c+ \

& y+ M: C3 r: n  ^第一个问题有点难,因为要无穷; L% e! g3 ~- m5 E5 O8 k

/ R% P& L, h# O: i' S9 {' U如果是1000!还好办 自己写乘法 用字符串储存 不过就是速度慢了点
回复

使用道具 举报

发表于 2008-6-5 13:29 | 显示全部楼层
#include<stdio.h>4 z5 m# T* K7 O
#define N 1000    //要计算的N0 x9 F$ r% R3 _  d, x
long s[N]={1,1},n=N,t=2,a=1,b=0,p=10000;8 F+ q. G$ Q9 a3 V
int main()//雨中飞燕之作  H1 x$ U2 o" i" I( L% X% w+ ?
{
. M7 R/ |& T: x) G6 y6 q    for(;a<=*s||(++t<=n?(b=0,a=1):0);(*s==a++&&b)?(*s)++:0)
- k" Z$ ^2 A: d5 M" O        s[a]=(b+=s[a]*t)%p,b/=p;
3 s: l7 ]- A, Q    for(printf("%d",s[*s]);--*s>0;)printf("%04d",s[*s]);: p8 g1 Q. ^5 \- T0 y7 m' k
    return 0;) j# B/ S0 P9 F; k* \; _2 J: \
}
( x5 J  Q7 `# l
2 {* q; |* M8 A* RPS. 搜索的,不是我写的' ]1 E& _* u/ L( g
4 W' p9 p3 ]  c8 i: d
[ 本帖最后由 sort_0010 于 2008-6-5 13:30 编辑 ]
回复

使用道具 举报

发表于 2008-6-6 00:09 | 显示全部楼层
大数乘法很BT的说............6 z0 O; C$ K* |5 J9 i- o
用字符型存数据得算到什么时候........6 o1 V% R, `4 g+ m8 I. r% j
个人觉得得用长整形+指针来做,不过编程太复杂了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-9-16 14:34

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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