找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 3876|回复: 6

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

[复制链接]
发表于 2008-6-5 08:49 | 显示全部楼层 |阅读模式
1.用C语言编程:一个数N的阶乘(N为无穷大)
1 c) J/ u) U  k( E$ _: A* `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 发表
1 ^1 g3 N. e6 q7 r- E# M太简单了,我晕
  L4 q! W0 S% p+ g

! s5 ?  C( z8 q2 `, E) q1 ?兄弟,你就用程序做一下这题:
% @" v) E' K0 v6 m. n1.用C语言编程:一个数N的阶乘(N为无穷大)
( `* L" m1 d' I2 s1 h4 I9 _( p/ @- R- o  M# @, j( c
你用程序算一下10000!,看结果等于多少~
  J" d2 P/ x" r6 g- V4 C
: i6 O  B$ \" N) n& Y, k7 i[ 本帖最后由 gzzcun 于 2008-6-5 10:28 编辑 ]
回复

使用道具 举报

发表于 2008-6-5 10:44 | 显示全部楼层
编一个圆心为(X,Y),半径为R的圆形& @! k, w: s. F  A# S0 {- {
) J& ]+ |6 i0 y- K8 d
什么意思? 画一个圆吗?
  m- m6 p. I3 x7 ?: f
- T" {4 n2 {8 [! z' c% ?; s# i第一个问题有点难,因为要无穷
+ h  Q+ K. N2 F6 c* s( E
) V" c, b9 H" Y  I$ Y# m% {' f如果是1000!还好办 自己写乘法 用字符串储存 不过就是速度慢了点
回复

使用道具 举报

发表于 2008-6-5 13:29 | 显示全部楼层
#include<stdio.h>! l5 Y  p% Y" k9 Z6 K
#define N 1000    //要计算的N
- ?* F( r/ S& ]' F% `  Wlong s[N]={1,1},n=N,t=2,a=1,b=0,p=10000;
3 u9 |7 `# Q3 f7 `8 v' E% {int main()//雨中飞燕之作" f, D" x/ q# ]4 f1 L9 h
{: o* w( O% F" F2 q1 P3 v' ]
    for(;a<=*s||(++t<=n?(b=0,a=1):0);(*s==a++&&b)?(*s)++:0), J, b) D  c/ b5 R' c$ v9 F
        s[a]=(b+=s[a]*t)%p,b/=p;
, u5 \/ i1 J) b. A* ]" s9 c    for(printf("%d",s[*s]);--*s>0;)printf("%04d",s[*s]);
/ n8 H9 t7 f, K" J4 m9 W" i" N    return 0;
* n3 z. n0 V; f. s: x}! s' Z# n% K0 I5 d" L' K* L

9 T0 ]8 M- y5 x. D4 e* O; ]PS. 搜索的,不是我写的+ Y9 e# @( W1 E+ O; B+ O

( `7 {9 q3 G- N0 f8 o: p[ 本帖最后由 sort_0010 于 2008-6-5 13:30 编辑 ]
回复

使用道具 举报

发表于 2008-6-6 00:09 | 显示全部楼层
大数乘法很BT的说............) o, c: X' n( ]0 ]! A. X  r
用字符型存数据得算到什么时候........
. n- n) }6 U- O2 ?# L! C个人觉得得用长整形+指针来做,不过编程太复杂了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-6 03:30

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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