找回密码
 加入后院

QQ登录

只需一步,快速开始

搜索
查看: 3912|回复: 6

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

[复制链接]
发表于 2008-6-5 08:49 | 显示全部楼层 |阅读模式
1.用C语言编程:一个数N的阶乘(N为无穷大)
8 V; T4 ?0 w  C2.用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 发表 9 ]) Q$ c- k- U/ Z' Q
太简单了,我晕
) n6 d, j& j+ ~) Z; J
0 o* U* r# `4 P+ U
兄弟,你就用程序做一下这题:$ z7 [& G3 j0 r2 o
1.用C语言编程:一个数N的阶乘(N为无穷大)+ k- H/ j$ d6 z

7 ]8 O8 T7 g, S% q' a你用程序算一下10000!,看结果等于多少~6 |- a" X. }2 L2 Q8 l: K8 ^

. c- p6 Z& t' @7 ~+ h0 b[ 本帖最后由 gzzcun 于 2008-6-5 10:28 编辑 ]
回复

使用道具 举报

发表于 2008-6-5 10:44 | 显示全部楼层
编一个圆心为(X,Y),半径为R的圆形
* \$ w2 e# Z1 ]/ T( P% L) J/ }* A
6 ~4 W1 M5 B0 K" M. Y5 F什么意思? 画一个圆吗?
8 L, n- C5 x5 B3 `$ I% G) b3 S3 W4 ]4 C# b
第一个问题有点难,因为要无穷
! g- J# r2 J& |& t% [8 J9 ~8 b4 w
+ k8 u* {" d" R6 ^& _3 H如果是1000!还好办 自己写乘法 用字符串储存 不过就是速度慢了点
回复

使用道具 举报

发表于 2008-6-5 13:29 | 显示全部楼层
#include<stdio.h>: ]4 t. ]$ C+ {9 V' e- l/ N
#define N 1000    //要计算的N9 o0 Z1 e$ V9 ?, d- D& `
long s[N]={1,1},n=N,t=2,a=1,b=0,p=10000;$ U& B+ A9 ^* n- n+ N: K7 k( ^' ^& E
int main()//雨中飞燕之作! g! X, s* d+ |8 |
{7 E1 q" V, g  Z& u. B9 t
    for(;a<=*s||(++t<=n?(b=0,a=1):0);(*s==a++&&b)?(*s)++:0)
6 v" y. ]( f  {1 i, O, ]6 s        s[a]=(b+=s[a]*t)%p,b/=p;5 l4 y- k5 ~$ L
    for(printf("%d",s[*s]);--*s>0;)printf("%04d",s[*s]);! @5 |3 H5 ~8 p$ I$ H
    return 0;. ?7 E/ Z) t0 d# q* K6 k5 [9 H( ]$ ~
}
( e- f! p( o( r, s  p& E  ^
9 b) C7 {( e6 `6 ?* UPS. 搜索的,不是我写的
( o. c; w" Z8 D" a$ L& \
4 r$ `; |2 ^1 g3 G0 P8 V) M[ 本帖最后由 sort_0010 于 2008-6-5 13:30 编辑 ]
回复

使用道具 举报

发表于 2008-6-6 00:09 | 显示全部楼层
大数乘法很BT的说............
) h$ a; A6 T9 J; `9 ]用字符型存数据得算到什么时候........0 I# K+ H% i# F- I& A( T
个人觉得得用长整形+指针来做,不过编程太复杂了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-10 00:26

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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