刘金玉的零基础VB教程024期:使用穷举法求素数

简介: 刘金玉的零基础VB教程024期:使用穷举法求素数

实现案例

使用穷举法求素数

1、明确一个范围,在什么什么范围范围的素数?手工输入一个范围

2、符合大于1,且只能被1和自己整除的整数

穷举法

穷举法也称为枚举法。

特点:

1、一般都是确定一个穷举的范围

2、每个可能的值去判断是否符合我们需要的条件

素数

质数(prime number)又称素数,有无限个。

质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数。

换句话:质数大于1的只能被1和它自己本身整除的整数

逻辑思路

1、在一个范围内先取一个数

2、将取到的数,对这个数内,从大于1的整数开始到这个数本身,依次穷举

3、把符合条件的拿下(大于等于2且小于这个数本身,这中间无法被分解的数),如果能被这个范围内的数整除(余数为0),那么它就不是素数

课堂总结

1、掌握什么是素数?

2、掌握穷举法的特点

3、学会优化我们的算法

源代码

Dim n As Long

n = Val(Text1.Text)

 

Dim i%, j%

 

For i = 2 To n Step 1 '穷举所有的数

 

   Dim flag As Boolean

   flag = True '默认为是素数

 

   For j = 2 To i - 1 Step 1 '对每个数进行穷举判断

     

       If i Mod j = 0 Then

           flag = False '不是素数

           Exit For

       End If

     

   Next j

 

   If flag Then Text2.Text =Text2.Text & i & ","

 

Next i

相关文章
|
3月前
|
算法 数据可视化 Python
【10月更文挑战第14天】「Mac上学Python 25」小学奥数篇11 - 最大公约数与最小公倍数
本篇将通过 Python 和 Cangjie 双语实现最大公约数(GCD)和最小公倍数(LCM)的计算。这个题目帮助学生理解如何运用数学算法,并将其与编程实现结合。
60 1
|
3月前
|
机器学习/深度学习 算法
小小GCD、LCM拿下拿下
小小GCD、LCM拿下拿下
|
8月前
|
C++
【PTA】​L1-079 天梯赛的善良​ (C++)
【PTA】​L1-079 天梯赛的善良​ (C++)
118 0
【PTA】​L1-079 天梯赛的善良​ (C++)
|
机器学习/深度学习
刘金玉的零基础VB教程029期:累加与累乘案例分析
刘金玉的零基础VB教程029期:累加与累乘案例分析
196 0
|
算法
华为机试HJ76:尼科彻斯定理
华为机试HJ76:尼科彻斯定理
HJ76--尼科彻斯定理
HJ76--尼科彻斯定理
122 0
ACM刷题之路(二十四)HDU 2844 多重背包转换 Coins
ACM刷题之路(二十四)HDU 2844 多重背包转换 Coins
109 0
刘金玉的零基础VB教程077期:回文数可以如此简单?StrReverse函数运用
刘金玉的零基础VB教程077期:回文数可以如此简单?StrReverse函数运用
128 0
【C语言每日一题】验证尼科彻斯定理
✨✨ 题目:验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。 例如: 1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 输入一个正整数m(m≤100),将m的立方写成m个连续奇数之和的形式输出。 注意:本题含有多组输入数据。 数据范围:1≤m≤100 链接: 题目链接
高职考技能提升教程009期 求最值与平均值 VB语言 刘金玉编程
高职考技能提升教程009期 求最值与平均值 VB语言 刘金玉编程