工大后院

 找回密码
 加入后院

扫一扫,访问微社区

QQ登录

只需一步,快速开始

搜索
查看: 3634|回复: 6

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

[复制链接]
发表于 2008-6-5 08:49 | 显示全部楼层 |阅读模式
1.用C语言编程:一个数N的阶乘(N为无穷大) 7 Y. C, G; l8 u8 A2 ^
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 发表 % ]' d: e3 i3 ?* o* a3 b
太简单了,我晕

# I/ ~9 }% n/ d; D$ q) t2 a
9 K$ F' S- k5 t% G兄弟,你就用程序做一下这题:6 J* m9 ^% D* W6 q3 z( V
1.用C语言编程:一个数N的阶乘(N为无穷大)% U; g5 b3 E4 R5 z

; g( m) d6 u; K5 j你用程序算一下10000!,看结果等于多少~
: e7 i+ P9 d" b* e' _# y! v! ^, j* j3 i5 F9 {2 B
[ 本帖最后由 gzzcun 于 2008-6-5 10:28 编辑 ]
回复

使用道具 举报

发表于 2008-6-5 10:44 | 显示全部楼层
编一个圆心为(X,Y),半径为R的圆形) f1 B& B  F% n6 E4 v7 U
4 Q* ?8 R, J% `, J; X% u
什么意思? 画一个圆吗?3 Q5 E* X; L0 Z+ B8 p9 H0 N4 F

% D- [# z! \) x4 S  {# _第一个问题有点难,因为要无穷
6 M. m; e) e0 G; `  M7 U+ ?- Q' U* w/ ~2 g8 S# d  Q/ A
如果是1000!还好办 自己写乘法 用字符串储存 不过就是速度慢了点
回复

使用道具 举报

发表于 2008-6-5 13:29 | 显示全部楼层
#include<stdio.h>
# [6 K9 o9 N8 d( L4 A8 b6 o#define N 1000    //要计算的N8 i1 b4 e; d8 g7 s! Z
long s[N]={1,1},n=N,t=2,a=1,b=0,p=10000;, y% u2 b8 @. l# J" h
int main()//雨中飞燕之作; b, I$ c* [! r) Z9 N# x
{# ^! t7 U$ C- q& D; }4 m4 g8 v2 ?
    for(;a<=*s||(++t<=n?(b=0,a=1):0);(*s==a++&&b)?(*s)++:0). ]: a- k! E5 Q
        s[a]=(b+=s[a]*t)%p,b/=p;$ s( O* j6 h9 n6 U/ ~
    for(printf("%d",s[*s]);--*s>0;)printf("%04d",s[*s]);
/ ?+ h# E/ H( m    return 0;
& y9 C7 Z& \' |8 D4 e5 O}. e& o/ h1 i! u0 u

. g9 T9 k/ @  E$ o, @5 MPS. 搜索的,不是我写的
5 C0 [5 C8 K6 X/ D3 c4 V' C3 T- d: `2 X; a: R- m  Q& S. p' C
[ 本帖最后由 sort_0010 于 2008-6-5 13:30 编辑 ]
回复

使用道具 举报

发表于 2008-6-6 00:09 | 显示全部楼层
大数乘法很BT的说............
; k' k0 ?( M% z3 }用字符型存数据得算到什么时候........
3 C" F5 s$ n. B+ ~个人觉得得用长整形+指针来做,不过编程太复杂了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-5 00:09

Powered by Discuz! X3.5

Copyright © 2001-2024 Tencent Cloud.

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