BASIC 256

BASIC 256

素数の日 

西暦年を入力すれば、その年の素数日 (たとえば、20191231 ... ) をすべて出力するコードを書く。
動けばいいコード。
Function isPrime(n)
  If n < 2 Then Return False
  If n = 2 Then Return True
  If n % 2  = 0 Then Return False
  limit = Int(Sqr(n))
  For i = 3 To limit Step 2
    If n % i = 0 Then Return False
  Next i
  Return True
End Function

Function leapyear(Y)
    If (Y % 4) <> 0 Then Return False
    If (Y % 100) = 0 And (Y % 400) <> 0 Then Return False
    Return True
End Function

input "y= ",y
yy=10000*y

If leapyear(y) Then dd=29 Else dd=28

For i = yy+0101 To yy+0131
  If isPrime(i) Then 
    Print String(i); " "; 
  End If
Next i
print
For i = yy+0201 To yy+0200+dd
  If isPrime(i) Then 
    Print String(i); " "; 
  End If
Next i
print
For i = yy+0301 To yy+0331
  If isPrime(i) Then 
    Print String(i); " "; 
  End If
Next i
print
For i = yy+0401 To yy+0430
  If isPrime(i) Then 
    Print String(i); " "; 
  End If
Next i
print
For i = yy+0501 To yy+0531
  If isPrime(i) Then 
    Print String(i); " "; 
  End If
Next i
print

For i = yy+0601 To yy+0630
  If isPrime(i) Then 
    Print String(i); " "; 
  End If
Next i
print
For i = yy+0701 To yy+0731
  If isPrime(i) Then 
    Print String(i); " "; 
  End If
Next i
print
For i = yy+0801 To yy+0831
  If isPrime(i) Then 
    Print String(i); " "; 
  End If
Next i
print
For i = yy+0901 To yy+0930
  If isPrime(i) Then 
    Print String(i); " "; 
  End If
Next i
print
For i = yy+1001 To yy+1031
  If isPrime(i) Then 
    Print String(i); " "; 
  End If
Next i
print
For i = yy+1101 To yy+1130
  If isPrime(i) Then 
    Print String(i); " "; 
  End If
Next i
print
For i = yy+1201 To yy+1231
  If isPrime(i) Then 
    Print String(i); " "; 
  End If
Next i
end

2019年

y= 2019
20190221 20190227
20190301 20190319 20190323
20190421
20190523 20190529
20190601 20190613
20190719
20190811 20190823
20190913
20191009 20191027
20191109 20191117
20191231

2020年

y= 2020
20200109 20200111 20200121 20200123
20200223
20200309
20200429
20200511 20200529
20200613 20200619
20200703 20200711 20200721 20200723 20200729
20200801 20200813
20200903
20201021 20201029
20201101 20201113
20201227 20201231 

素数日 が無い月の年もあった。

y= 2001
20010127
20010209 20010217 20010223
20010307 20010313 20010323
20010409
20010517

20010701 20010721
20010811
20010917 20010929
20011001 20011007 20011031

0 件のコメント:

コメントを投稿

ジェームズ・エルロイの L.A. Quartet シリーズを読みはじめようと計画

 きっかけは『ホワイト・ジャズ』に興味を持ったのがきっかけですが、 注文しようとしたら、日本語訳はほとんど絶版のようになっていて、 キンドルでサンプルを読みはじめると、スラスラ読めるようなものでは無い ことがわかって逆に紙のペーパーバックスでシリーズを注文しようとすると L.A....