关于数的题目 急解决办法

关于数的题目 急1-10000内个位数是3的素数 有多少个求能被3整出并且至少有一个数字为5的三位数的个数只要

关于数的题目 急
1-10000内个位数是3的素数 有多少个
求能被3整出并且至少有一个数字为5的三位数的个数


只要答案就ok,帮别人忙的。

[解决办法]
各位是3的有
310个
求能被3整出并且至少有一个数字为5的三位数的个数
1150个
[解决办法]

C# code
public static void Test(){    int e3 = 0;    int r2 = 0;    for (int i = 1; i < 10000; i++)    {        if (isprimeNumber(i) && i % 10 == 3) e3++;        if (i % 3 == 0 && i.ToString().Contains('5')) r2++;    }    Console.WriteLine(e3);    Console.WriteLine(r2);}public static bool isprimeNumber(int n){    bool b = true;    if (n == 1 || n == 2)        b = true;    else    {        int sqr = Convert.ToInt32(Math.Sqrt(n));        for (int i = sqr; i > 2; i--)        {            if (n % i == 0)            {                b = false;            }        }    }    return b;}
[解决办法]
补充下第2的:85
VB code
Private Sub Form_Load()Dim i, j As IntegerDim iCtr As StringDim jCtr As Integer    iCtr = "1234567890"        For i = 100 To 999        If i Mod 3 = 0 Then            For j = 1 To Len(i)                If InStr(1, iCtr, Mid(i, j, 1)) = 5 Then                    jCtr = jCtr + 1                    Exit For                End If            Next j        End If    Next i    Debug.Print jCtr    End Sub
[解决办法]
310 85
VB code
Private Sub Command1_Click()  Dim a(10000) As Boolean, f As Boolean, m As Integer, n As Integer  For i = 1 To 10000      f = Not f      a(i) = f  Next    For i = 3 To Sqr(10000) Step 2      If a(i) Then         For j = i + i To 10000 Step i             a(j) = False         Next      End If  Next    For i = 2 To 10000      If a(i) And Right(i, 1) = 3 Then m = m + 1      If i > 99 And i < 1000 And i Mod 3 = 0 And InStr(i, "5") Then n = n + 1  Next    Debug.Print m, n '310 and 85  End Sub