vb编程 找出100-900之间的无暇素数。所谓无暇素数是指本身为素数,且其

作者&投稿:毋泉 (若有异议请与网页底部的电邮联系)
找出100-900之间的无暇素数.所谓无暇素数是指本身为素数,且其逆序数也是素数的数~

#include
#include
void main ( )
{
int n,a,b,c,k,d,i,flag;
for(n=100;n<=900;n++)
{
flag=1;
k=(int)sqrt(n);
for(i=2;i<=k;i++)
{
if(n%i==0)
flag=0;
}
if(flag)
{
a=n%10;
b=n/10%10;
c=n/100;
d=a*100+b*10+c;
}
k=(int)sqrt(d);
for(i=2;i<=k;i++)
{
if(d%i==0)
flag=0;
}
if(flag)
printf("%7d",n);
}

printf("
");
}

#include "stdio.h"int prime(int n){ int i; for(i=3;i*i<=n;i+=2) if(!(n%i)) return 0; return 1;}int main(void){ int sum,i,n; for(n=sum=0,i=999;n<10;i-=2) if(prime(i)){ printf(n++<9 ? "%d+" : "%d=",i); sum+=i;} printf("%d
",sum); return 0;}

我感觉这题目对新手来说是很难的,代码如下,运行效果见上图。
逐行手敲,亲测可用。

Private Sub Command1_Click()
Dim a, b, c, d As Integer

b = 2
  For a = 100 To 900
      c = 0
      d = 0
     For b = 2 To a - 1
       If a Mod b = 0 Then
              c = 1
       End If
     Next b
    
    
    If c = 0 Then
    y = a \ 100 + ((a \ 10) Mod 10) * 10 + (a Mod 10) * 100
    
    For b = 2 To y - 1
       If y Mod b = 0 Then
              d = 1
       End If
     Next b
      If d = 0 Then
      Print "无暇素数为:" & a & "  倒序数为:" & y
      End If
    End If
  Next a
End Sub


Private Sub Command1_Click()
  Dim Inversion As Integer
  For i = 100 To 900
    Inversion = (i Mod 10) * 100 + (i \ 10 Mod 10) * 10 + i \ 100
    If IsPrimeNumber(i) And IsPrimeNumber(Inversion) Then
      k = k + 1
      Print i;
      If k Mod 10 = 0 Then Print
    End If
  Next i
  Print
End Sub

Public Function IsPrimeNumber(ByVal n As Integer) As Boolean
  IsPrimeNumber = True
  For i = 2 To Sqr(n)
    If n Mod i = 0 Then
      IsPrimeNumber = False
      Exit Function
    End If
  Next i
End Function






蒙自县19670353159: 求助,vb编程题.设计一个程序,找出100~900之间的无暇素数 -
太曲导赤: '******************主要程序如下:dim i as integer for i=100 to 900 if sushu(i)=true then '调用下方sushu函数 dim dz as integer dz=diaozhuan(i) '调用下方dianzhuan函数 if sushu(dz)=true thentextbox1.text=textbox1.text & i & " " end if end if next i ...

蒙自县19670353159: VB编写程序打印100到900之间所有素数,并统计100到900之间素数的个数? -
太曲导赤:[答案] Private Sub Form_Click() s = 0 For i = 100 To 900 k = 0 For j = 2 To i - 1 If i Mod j = 0 Then k = 1: Exit For Next j If k = 0 Then s = s + 1 Print i; If s Mod 20 = 0 Then Print End If Next i Print Print "s="; s End Sub

蒙自县19670353159: VB 求200到900之间的所有三位数,要求个位数加十位数之和除10的余数为百位数,例如202 -
太曲导赤: Private Sub Form_Load()'求200到900之间的所有三位数 对应代码FOR循环 For i = 200 To 900 gws = Val(Right(i, 1)) 'right 右边第1个 val将文本转换为数值 sws = Val(Mid(i, 2, 1)) 'Mid 中间第2个 bws = Val(Left(i, 1)) 'Left 左边第2个 he = gws + ...

蒙自县19670353159: 利用VB程序编写随机数生成一个6行6列的整形矩阵(100~900范围内)找出某个指定行列内的最大 -
太曲导赤: 窗体上需有:三个command按钮,两个text框,第一个输入要查找的行数,text2输入要查找的列数.还要有一个label1,用于显示极值.代码如下:Dim a(1 To 6, 1 To 6) As Integer Private Sub Command1_Click() '查找行的极值 Dim a As ...

蒙自县19670353159: 怎样用VB编程得到 100个100~999之间的随机数 -
太曲导赤: 为了便于显示这么多数,先建立一个listbox1控件 Private Sub Form_Click() Dim d As Long Dim n As Integer d = 0 List1.Clear For i = 0 To 99 n = Int(Rnd * 900) + 100 List1.AddItem n d = d + n Next i List1.AddItem d End Sub

蒙自县19670353159: 关于Vb的编程题,求100到999之间最大的三个素数 希望能给出具体的代码~~在线等 谢谢啦 -
太曲导赤: ------------------------分割线--------------------------------- Private Sub form_load() Me.AutoRedraw = True e = 1 For i = 999 To 100 Step -1 d = 0 For a = 2 To i If i Mod a = 0 Then Exit For Else d = d + 1 End If Next If d = i - 2 Then Print i e = e + 1 If e = 4 Then ...

蒙自县19670353159: VB编程求出100~999之间的所有回文数,并按行输出
太曲导赤: Private Sub Command1_Click() For i = 100 To 999 '从100到999循环 If i = Val(StrReverse(Str(i))) Then 'StrReverse()函数是将字符串反序 Print i '打印出符合条件的数 End If Next i End Sub Private Sub Command1_Click() Cls '清空窗体 For i = ...

蒙自县19670353159: vb程序设计,求100 - 900之间能被7整除的数之和 -
太曲导赤: Dim sum As Integer = 0 For i = 100 To 900 If i Mod 7 = 0 Then sum = sum + i End If Next TextBox6.Text = sum.ToString

蒙自县19670353159: VB 找出100到999之间的梅花数 -
太曲导赤: For i = 100 To 999 a = ic = 0 While a > 0b = a Mod 10a = a \ 10c = c + b ^ 3Wend If c = i Then Print i & " 是梅花数" Next

蒙自县19670353159: 用VB编写一个程序,找出1~1000范围内的所有素数,并将这些素数显示在窗体上 -
太曲导赤: 正确如下:Private Sub Command1_Click() For n = 2 To 1000 For i = 2 To Int(Sqr(n)) If n Mod i = 0 Then Exit For End ifNext IIf i > Int(Sqr(n)) Then Print n; Next n End Sub 说明:1、Next i前一行加 End if是为了与前面的if构成完整的if....end if 语句,从而结束if语句并执行下一语句 .2、另外Print n后在面加分号可以在同一行输出.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网