找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 3883|回复: 6

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

[复制链接]
发表于 2008-6-5 08:49 | 显示全部楼层 |阅读模式
1.用C语言编程:一个数N的阶乘(N为无穷大) & G4 |4 M4 U+ I1 f- ]
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 发表
  w5 }1 Z5 g, ?/ y  Q* Q1 r! T太简单了,我晕
7 `' [' F, `1 z! k
: D/ C4 q! p6 b
兄弟,你就用程序做一下这题:
+ f- o* H9 m6 Z/ C7 R3 U' B. M1.用C语言编程:一个数N的阶乘(N为无穷大)  S9 ?/ `( J& F7 X* |% h- N; x
  s. l/ d- H* |
你用程序算一下10000!,看结果等于多少~
: G: q4 B* Q; L1 X4 g3 \
+ y% l1 H% b0 R/ `& I# ?* j[ 本帖最后由 gzzcun 于 2008-6-5 10:28 编辑 ]
回复

使用道具 举报

发表于 2008-6-5 10:44 | 显示全部楼层
编一个圆心为(X,Y),半径为R的圆形* y9 r: F$ ~( @6 j: `
& l# g; L' Q' {
什么意思? 画一个圆吗?) k6 A8 ^; c' q
' g! C- e) G8 U" F( T  t2 P
第一个问题有点难,因为要无穷
. l, {8 P' Q2 O, ^
' l. k6 {8 `. C& C& g. _如果是1000!还好办 自己写乘法 用字符串储存 不过就是速度慢了点
回复

使用道具 举报

发表于 2008-6-5 13:29 | 显示全部楼层
#include<stdio.h>  Q7 |' N& K3 b0 P5 G% ]( L
#define N 1000    //要计算的N
/ U& z  X$ G1 {7 W! z+ along s[N]={1,1},n=N,t=2,a=1,b=0,p=10000;6 @- w& H1 @5 L) P2 Q
int main()//雨中飞燕之作' E$ E$ d# F, q; d! p; {9 |! l! _
{" @1 w4 b8 P  J/ G0 p4 M& k4 b$ I
    for(;a<=*s||(++t<=n?(b=0,a=1):0);(*s==a++&&b)?(*s)++:0)6 w1 s' A! O+ b' T& k% C) \* f
        s[a]=(b+=s[a]*t)%p,b/=p;. ~1 i8 o4 X+ m. n( ]
    for(printf("%d",s[*s]);--*s>0;)printf("%04d",s[*s]);
% \/ D3 s3 {: E7 c2 |    return 0;
. f4 U% j* o1 d! `7 u}
, |( Z+ z2 o9 z* I! F" ]
. J! L8 J4 L, yPS. 搜索的,不是我写的
6 u% y) _/ Y) e# S% t- K
: j5 i, y3 R7 m* ?[ 本帖最后由 sort_0010 于 2008-6-5 13:30 编辑 ]
回复

使用道具 举报

发表于 2008-6-6 00:09 | 显示全部楼层
大数乘法很BT的说............/ H' l, S' X: G- H
用字符型存数据得算到什么时候......../ u- a* P+ g* G" r/ Y, _9 s7 [
个人觉得得用长整形+指针来做,不过编程太复杂了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-5-4 12:27

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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