关于数的题目 急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
