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 件のコメント:
コメントを投稿