| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1099 人关注过本帖
标题:[求助]简单问题 请各位朋友杀鸡用一下牛刀
只看楼主 加入收藏
revengeboy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-8-27
收藏
 问题点数:0 回复次数:16 
[求助]简单问题 请各位朋友杀鸡用一下牛刀

1.编写一个Sub过程,给一个整数n(n>=3),判断它是否是素数.

2.编写Funchtion过程,求两个正整数M,N的最大公约数.

3.求fibonacci数列40个数.这个数列有如下特点:第1,2两个数为1,1.从第3个数开始,该
数是其前面两个数之和.即:
f1=1 (n=1)
f2=1 (n=2)
f(n)=f(n-1)+f(n-2) (n>=3)
请编程实现,结果打印在窗体(Form1)上.


小弟是学经济的 可是大学里面却有门必修科是VB
我没好好学 结果挂了 考试是笔试的 最后要求写程序 对我来说真是犹如天书
请各位大大杀鸡用一下牛刀 为小弟写清这3题的程序吧。。谢谢

搜索更多相关主题的帖子: 杀鸡 简单问题 朋友 
2007-08-27 21:05
coachard
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:1251
专家分:0
注 册:2007-8-12
收藏
得分:0 
学经济的计算机脑子应该很好用滴丫~~~~~~听说经济的数学都挺猛的

偶学编程,也许本身就是一个错。。。
2007-08-27 21:13
revengeboy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-8-27
收藏
得分:0 

对计算机我实在不太在行。。。
临近补考 正急需这几道题的答案呢。。。

2007-08-27 21:15
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 

VB我不是不会用 是不想给你现成的答案,尤其是不指望你这种能为论坛做出贡献的人,保准拿着答案就跑了,顶多说声谢谢
Pascal(Delphi)语言的 自己看懂之后移植。
第一题:
(*
Project: Amber Standard Sources Library [ASSL]
Author: Amber
Title: Extended GCD
Category: Math - Numberic - Modular - Extended GCD
Version: 1.0
Date: 2006-10-24
Remark: N/A
Tested Problems: N/A
*)
program ASSL_ExtendedGCD(Input, Output);
type
TData = Longint;

function ExtendedGCD(A, B: TData; var X, Y: TData): TData; //A*X+B*Y=GCD(A,B)
begin
if B = 0 then
begin
Result := A;
X := 1;
Y := 0;
end
else
begin
Result := ExtendedGCD(B, A mod B, Y, X);
Dec(Y, A div B * X);
end;
end;
procedure Main;
var
X, Y: TData;
A, B, C: TData;
begin
Readln(A, B); //A, B>0
C := ExtendedGCD(A, B, X, Y);
Writeln(X, '*', A, '+', Y, '*', B, '=', C);
end;
begin
Main;
end.



第二题:
(*
Project: Amber Standard Sources Library [ASSL]
Author: Amber
Title: Naive Prime Test
Category: Math - Numberic - Prime - Naive Prime Test
Version: 1.0
Date: 2006-10-24
Remark: N/A
Tested Problems: Ural 1343 Fairy tale
*)
program ASSL_PrimeTest(Input, Output);
type
TIndex = Longint;
TData = Int64;

function IsPrime(N: TData): Boolean; //Here N > 0
var
A: TIndex;
begin
Result := false;
if N = 1 then Exit;
if not Odd(N) then
begin
if N = 2 then Result := true;
Exit;
end;
A := 3;
while A * A <= N do
begin
if N mod A = 0 then Exit;
Inc(A, 2);
end;
Result := true;
end;
begin
end.

(求素数的顺便给你)
(*
Project: Amber Standard Sources Library [ASSL]
Author: Amber
Title: Prime Filter
Category: Math - Numberic - Prime - Prime Filter
Version: 1.0
Date: 2006-10-24
Remark: N/A
Tested Problems: N/A
*)
program ASSL_PrimeFilter(Input, Output);
const
MaxRange = 10000;
MaxPrimeNum = 2000;
type
TIndex = Longint;
TFilter = array [1..MaxRange] of Boolean;
TPrime = array [1..MaxPrimeNum] of TIndex;
var
Range: TIndex;
Filter: TFilter;
PrimeNum: TIndex;
Prime: TPrime;

procedure PrimeFilter;
var
i, j: TIndex;
begin
FillChar(Filter, SizeOf(Filter), true);
Filter[1] := false;
PrimeNum := 0;
for i := 2 to Range do
if Filter[i] then
begin
Inc(PrimeNum);
Prime[PrimeNum] := i;
for j := i to Range div i do
Filter[i * j] := false;
end;
end;
procedure Main;
var
i: TIndex;
begin
Range := MaxRange;
PrimeFilter;
for i := 1 to PrimeNum do
Write(Prime[i], ' ');
end;
begin
Main;
end.

数列那题参考一下这个吧
http://zhidao.baidu.com/question/25768000.html
不过注意 时间上有很大优化余地。

2007-08-27 21:29
coachard
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:1251
专家分:0
注 册:2007-8-12
收藏
得分:0 
作为刚入学的大学生,我很同情你的遭遇!~~~~~

我帮你做第一题吧!
Public Sub IsPrimeNum(NumInput As Integer)
Dim upNum As Integer, i As Integer
upNum = CInt(Sqr(NumInput))
If NumInput < 3 Then Exit Sub
For i = 2 To upNum Step 1
If NumInput Mod i = 0 Then
MsgBox "不是素数!", vbOKOnly Or vbCritical
Exit Sub
End If
Next i
MsgBox "是素数!"
End Sub

偶学编程,也许本身就是一个错。。。
2007-08-27 21:31
multiple1902
Rank: 8Rank: 8
等 级:贵宾
威 望:42
帖 子:4881
专家分:671
注 册:2007-2-9
收藏
得分:0 
“vbOKOnly Or vbCritical”
我一直用的“+”连接……一直不觉得有什么问题
2007-08-27 21:33
coachard
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:1251
专家分:0
注 册:2007-8-12
收藏
得分:0 
我一般也是用+

偶学编程,也许本身就是一个错。。。
2007-08-27 21:37
Joforn
Rank: 6Rank: 6
等 级:贵宾
威 望:23
帖 子:1242
专家分:122
注 册:2007-1-2
收藏
得分:0 
以下是引用multiple1902在2007-8-27 21:33:51的发言:
“vbOKOnly Or vbCritical”
我一直用的“+”连接……一直不觉得有什么问题

OR不会溢出,+会溢出。
比如说:
dim I as Long
i= &H7FFFFFFF
I=I or 1(正确)
i=i+1 (溢出)


VB QQ群:47715789
2007-08-27 21:38
revengeboy
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-8-27
收藏
得分:0 
嗯 谢谢各位 说实话我得到了正确答案过了考试是不会再看VB这门科了
可能也不会来这个论坛了 我也觉得自己这样有点不对
但是我周围实在找不到会VB的 所以万般无奈之下只能出此下策

不管有没有解答 我都要谢谢各位的回帖 毕竟对我这个路人有所关心
5楼的解答我更是感谢

如果让各位觉得麻烦的话就让这帖沉了吧。。。
2007-08-27 21:39
coachard
Rank: 3Rank: 3
等 级:新手上路
威 望:7
帖 子:1251
专家分:0
注 册:2007-8-12
收藏
得分:0 
说得太感人了~~~~~~~~~~~~~~~~

偶学编程,也许本身就是一个错。。。
2007-08-27 21:41
快速回复:[求助]简单问题 请各位朋友杀鸡用一下牛刀
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019462 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved