工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 3696|回复: 6

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

[复制链接]
发表于 2008-6-5 08:49 | 显示全部楼层 |阅读模式
1.用C语言编程:一个数N的阶乘(N为无穷大) ) b! A1 E; c: i4 l' F  C% h  M
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 发表
0 {/ o$ Y' Z3 W太简单了,我晕
/ O8 S7 H# u  w
- j$ k$ k7 @/ R
兄弟,你就用程序做一下这题:
9 D9 }2 k, M! d! T+ R$ H1.用C语言编程:一个数N的阶乘(N为无穷大)
7 q& ]3 P/ h' t  B5 r+ O/ f4 F
. R- _7 i; n2 T你用程序算一下10000!,看结果等于多少~' v, Q3 V; k% n* X+ d
" s: d1 t, x" H3 c
[ 本帖最后由 gzzcun 于 2008-6-5 10:28 编辑 ]
回复

使用道具 举报

发表于 2008-6-5 10:44 | 显示全部楼层
编一个圆心为(X,Y),半径为R的圆形
& T' O6 f2 m" m1 M/ r% M. v
5 R' \! j/ `/ ~% v# }7 N什么意思? 画一个圆吗?
/ {& j6 P' \! H" A1 i8 o
7 n; P- q5 H% d1 M+ P第一个问题有点难,因为要无穷% K! e6 i* Q( T/ n/ h/ I
2 S) _% q5 q. Z; g  i
如果是1000!还好办 自己写乘法 用字符串储存 不过就是速度慢了点
回复

使用道具 举报

发表于 2008-6-5 13:29 | 显示全部楼层
#include<stdio.h>
6 A# E. u$ w- q; ]3 @#define N 1000    //要计算的N
+ j' g+ p- ?9 R; F1 Xlong s[N]={1,1},n=N,t=2,a=1,b=0,p=10000;, N+ I' I; h  c, n: q8 U1 N6 x
int main()//雨中飞燕之作+ U" g" S$ G* W8 w5 y; Z
{6 V- J9 o/ Q" E3 K( I0 A/ F
    for(;a<=*s||(++t<=n?(b=0,a=1):0);(*s==a++&&b)?(*s)++:0): Y1 g. s2 `& r  e; o$ h
        s[a]=(b+=s[a]*t)%p,b/=p;( J; B: ~# s2 K0 m! i
    for(printf("%d",s[*s]);--*s>0;)printf("%04d",s[*s]);! W) A: s" x" j! d  E3 J
    return 0;
2 @9 o" O) h( x: C. n  p, I}
* K" L# B+ Y$ \' S5 m3 q3 t1 C8 S) w3 G9 C8 ^- H
PS. 搜索的,不是我写的
8 c8 p+ d9 i  e
0 h. j, r, b4 D- ^[ 本帖最后由 sort_0010 于 2008-6-5 13:30 编辑 ]
回复

使用道具 举报

发表于 2008-6-6 00:09 | 显示全部楼层
大数乘法很BT的说............
' \, D, V) e+ h) x4 E用字符型存数据得算到什么时候........- c- t1 S$ ^; F" T  |0 X1 m
个人觉得得用长整形+指针来做,不过编程太复杂了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-9-20 11:21

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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