标题:把一个大于2的偶数分解为两个素数,怎么填代码?
只看楼主
白掌七里香
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-9-19
结帖率:0
已结贴  问题点数:10 回复次数:4 
把一个大于2的偶数分解为两个素数,怎么填代码?
把一个大于2的偶数分解为两个素数,text1中写入这个偶数,label1和label3中填入两个素数,要求其中一个素数是所能够分解出的最小的素数(一个偶数有时可以分解为多种素数的组合,例如24可以分解为5和19,也可以分解为11和13,要求取含有最小素数的组合)。程序中有6个填空,第四个填空填不出来,请指教!
Private Sub Command1_Click()
Dim a&, f1 As Boolean, f2 As Boolean
a = Val(Text1.Text) '①
For i = 2 To a

    f1 = True
   For j = 2 To i - 1
     If i Mod j = 0 Then f1 = False
   Next j
   
   If f1 Then
     b = a - i '②
     
     f2 = True
     For j = 2 To b - 1
       If b Mod j = 0 Then f2 = False '③
     Next j
     
     If f2 Then
     '④
      Label3.Caption = b
      Label1.Caption = i  '⑤
     End If
   End If '⑥
Next i
End Sub
搜索更多相关主题的帖子: 偶数 分解 素数 If Then 
2018-10-22 08:58
yingshu
Rank: 4
等 级:贵宾
威 望:10
帖 子:49
专家分:212
注 册:2018-7-24
得分:10 
现有的程序中没有判断最小素数,所以在每次取得新组合后  
      Label3.Caption = b
      Label1.Caption = i  '⑤这个赋值函数都有重新赋值

Private Sub Command1_Click()
Dim a&, f1 As Boolean, f2 As Boolean
Dim temp1 As Long
Dim temp2 As Long
a = Val(Text1.Text) '①
temp1 = a
temp2 = a

For i = 2 To a - 2

    f1 = True
   For j = 2 To i - 1
     If i Mod j = 0 Then f1 = False
   Next j
   
   If f1 Then
     b = a - i '②
     
     f2 = True
     For j = 2 To b - 1
       If b Mod j = 0 Then f2 = False '③
     Next j
     
     If f2 Then
     If (Val(i) < Val(temp1) And Val(i) < Val(temp2)) Or (Val(b) < Val(temp1) And Val(b) < Val(temp2))  Then
     '④
        temp1 = i
        temp2 = b
      Label2.Caption = temp1
      Label1.Caption = temp2  '⑤
    End If
     End If
   End If '⑥
Next i
End Sub
欧拉  妥妥滴
知识有限,仅供参考,希望对你有帮助

[此贴子已经被作者于2018-10-22 12:47编辑过]

2018-10-22 10:32
白掌七里香
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-9-19
得分:0 
上面的程序自己不能添加代码的,就填空
2018-10-22 13:42
白掌七里香
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2018-9-19
得分:0 
谢谢,已经想到答案了,
If f2 Then
     Label1.Caption = i   '④
      Label3.Caption = b
       exit for   '⑤
     End If
   End If  '⑥
2018-10-22 14:17
yingshu
Rank: 4
等 级:贵宾
威 望:10
帖 子:49
专家分:212
注 册:2018-7-24
得分:0 
牛逼,受教了
2018-10-22 14:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-490584-1-1.html




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

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