| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 655 人关注过本帖
标题:大家看看这个怎么解决
只看楼主 加入收藏
malingdong
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-6-15
结帖率:0
收藏
已结贴  问题点数:20 回复次数:8 
大家看看这个怎么解决
用VB编一个程序,使之从10到99之间选出80个数,把偶数按从大到小排列,把奇数从小到大排列,列出其中的素数,并求出素数的和。本人苦思数日是在无法解决,大家看看怎么办
搜索更多相关主题的帖子: 怎么办 
2011-06-15 11:00
ltblue
Rank: 1
等 级:新手上路
帖 子:2
专家分:5
注 册:2011-6-15
收藏
得分:5 
貌似有比我手还新的......
毕竟是个极小的程序,一步步来吧
1 从10-99之间选80个数:
随机选?因为10-99之间是90个数......
那么最简单但效率很低的方法是
循环,直到选择出了80个数{
生成一个随机数
如果这个随机数没有和之前的数据重复,则写入某数组(即挨个和之前已经出现的随机数比较)
数组标签+1}
这样80个数就选好了
2 把偶数从大到小排列?奇数从小到大排列?
分成2个数组,一个奇数,一个偶数,能被2整除的放一个数组里,其他放另外一个里面
用冒泡法把他们分别排列
然后根据需要考虑是否输出
3 必然只有奇数才可能是素数了
每个奇数校验一次,比如这个数为n,那么用n除以(2~n-1)之内的所有数,如果有能整除的,跳出循环体,否则在循环都结束后就是素数了

最后求和就不用说了吧

很简陋的程序,如果是从100-999999,那效率极低,但10-99,口算都够了
2011-06-15 11:33
malingdong
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-6-15
收藏
得分:0 
那您能帮我把程序写出来吗?我写不出来。10到99随机选80个数
2011-06-15 20:33
wube
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:23
帖 子:1820
专家分:3681
注 册:2011-3-24
收藏
得分:5 
乱写的〜

程序代码:
Option Explicit

Dim Temp() As Integer

Private Sub Command1_Click()
Dim MyValue As Integer

    ReDim Temp(0)

    Do While UBound(Temp) < 80  'Temp(0) ... Temp(79)

        Randomize
        MyValue = Int((99 * Rnd))   ' 产生 0 到 99 之间的乱数值。
    
        If MyValue > 10 Then
            Temp(UBound(Temp)) = MyValue
            List1.AddItem CStr(MyValue)
            DoEvents
            ReDim Preserve Temp(UBound(Temp) + 1)
        End If

    Loop

End Sub


不要選我當版主
2011-06-15 21:41
malingdong
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-6-15
收藏
得分:0 
这个可以吗?等我试试昂
2011-06-18 16:20
malingdong
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-6-15
收藏
得分:0 
“把偶数从大到小排列和奇数从小到大排列,并把素数逐一列出求出素数的和”这部分怎么编啊?
2011-06-18 16:23
zhuiis
Rank: 4
等 级:业余侠客
威 望:1
帖 子:201
专家分:286
注 册:2008-11-8
收藏
得分:5 
楼主慢慢来吧。
1、学习随机数字
2、学习奇偶判断
3、学习数字排序
……后面的计算应该也会了吧。
2011-06-19 01:05
malingdong
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2011-6-15
收藏
得分:0 
我不会啊
2011-06-20 22:03
shanshangyou
Rank: 2
等 级:论坛游民
帖 子:11
专家分:12
注 册:2010-12-3
收藏
得分:5 
奇偶数判断你可以用mod函数来实现,自己试试把,用随机出来的数和2mod一下,你就感觉出来了,如果是素数的话,你可用if来判断一下奇数里的数,如果mod之后只有一和他本身,那就是素数了,你打印出来,完后你加到一起不就行了
2011-06-22 18:44
快速回复:大家看看这个怎么解决
数据加载中...
 
   



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

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