Bash + Unix utilities, (削除) 71 (削除ここまで) 69 bytes
sed "s/\(.*\)/<<<1円 \&\&grepx[1円]/;1s/.*g/g/;\$s/ .*//"|tr 'x
' \ |sh
Input is on stdin, one number per line.
Output is in the exit code: 0 for truthy, 1 for falsey.
This can probably be golfed more.
For the code above to work, there cannot be any file in the current directory whose name is a single digit. If this isn't acceptable, replace [1円] in the program with '[1円]' (at a cost of 2 additional bytes).
Sample run (the last test case provided in the challenge):
$ echo '98
> 87
> 76
> 11
> 12
> 23' | ./digittest > /dev/null; echo $?
1
(1 here is falsey.)
How it works:
I'll demonstrate on the sample run above.
The sed command converts the input into:
grepx[98]
<<<87 &&grepx[87]
<<<76 &&grepx[76]
<<<11 &&grepx[11]
<<<12 &&grepx[12]
<<<23
The tr command then converts this to the string:
grep [98] <<<87 &&grep [87] <<<76 &&grep [76] <<<11 &&grep [11] <<<12 &&grep [12] <<<23
This string is a shell command for doing the desired operation, so I pipe that into sh and I'm done.
Bash + Unix utilities, (削除) 71 (削除ここまで) 69 bytes
sed "s/\(.*\)/<<<1円 \&\&grepx[1円]/;1s/.*g/g/;\$s/ .*//"|tr 'x
' \ |sh
Input is on stdin, one number per line.
Output is in the exit code: 0 for truthy, 1 for falsey.
This can probably be golfed more.
For the code above to work, there cannot be any file in the current directory whose name is a single digit. If this isn't acceptable, replace [1円] in the program with '[1円]' (at a cost of 2 additional bytes).
Sample run (the last test case provided in the challenge):
$ echo '98
> 87
> 76
> 11
> 12
> 23' | ./digittest > /dev/null; echo $?
1
(1 here is falsey.)
Bash + Unix utilities, (削除) 71 (削除ここまで) 69 bytes
sed "s/\(.*\)/<<<1円 \&\&grepx[1円]/;1s/.*g/g/;\$s/ .*//"|tr 'x
' \ |sh
Input is on stdin, one number per line.
Output is in the exit code: 0 for truthy, 1 for falsey.
This can probably be golfed more.
For the code above to work, there cannot be any file in the current directory whose name is a single digit. If this isn't acceptable, replace [1円] in the program with '[1円]' (at a cost of 2 additional bytes).
Sample run (the last test case provided in the challenge):
$ echo '98
> 87
> 76
> 11
> 12
> 23' | ./digittest > /dev/null; echo $?
1
(1 here is falsey.)
How it works:
I'll demonstrate on the sample run above.
The sed command converts the input into:
grepx[98]
<<<87 &&grepx[87]
<<<76 &&grepx[76]
<<<11 &&grepx[11]
<<<12 &&grepx[12]
<<<23
The tr command then converts this to the string:
grep [98] <<<87 &&grep [87] <<<76 &&grep [76] <<<11 &&grep [11] <<<12 &&grep [12] <<<23
This string is a shell command for doing the desired operation, so I pipe that into sh and I'm done.
Bash + Unix utilities, 71(削除) 71 (削除ここまで) 69 bytes
sed "s/\(.*\)/<<<1円 \&\&grepx'[1円]'\&\&grepx[1円]/;1s/.*g/g/;\$s/ .*//"|tr 'x
' \ |sh
Input is on stdin, one number per line.
Output is in the exit code: 0 for truthy, 1 for falsey.
This can probably be golfed more.
For the code above to work, there cannot be any file in the current directory whose name is a single digit. If this isn't acceptable, replace [1円] in the program with '[1円]' (at a cost of 2 additional bytes).
Sample run (the last test case provided in the challenge):
$ echo '98
> 87
> 76
> 11
> 12
> 23' | ./digittest > /dev/null; echo $?
1
(1 here is falsey.)
Bash + Unix utilities, 71 bytes
sed "s/\(.*\)/<<<1円 \&\&grepx'[1円]'/;1s/.*g/g/;\$s/ .*//"|tr 'x
' \ |sh
Input is on stdin, one number per line.
Output is in the exit code: 0 for truthy, 1 for falsey.
This can probably be golfed more.
Sample run (the last test case provided in the challenge):
$ echo '98
> 87
> 76
> 11
> 12
> 23' | ./digittest > /dev/null; echo $?
1
(1 here is falsey.)
Bash + Unix utilities, (削除) 71 (削除ここまで) 69 bytes
sed "s/\(.*\)/<<<1円 \&\&grepx[1円]/;1s/.*g/g/;\$s/ .*//"|tr 'x
' \ |sh
Input is on stdin, one number per line.
Output is in the exit code: 0 for truthy, 1 for falsey.
This can probably be golfed more.
For the code above to work, there cannot be any file in the current directory whose name is a single digit. If this isn't acceptable, replace [1円] in the program with '[1円]' (at a cost of 2 additional bytes).
Sample run (the last test case provided in the challenge):
$ echo '98
> 87
> 76
> 11
> 12
> 23' | ./digittest > /dev/null; echo $?
1
(1 here is falsey.)
Bash + Unix utilities, 71 bytes
sed "s/\(.*\)/<<<1円 \&\&grepx'[1円]'/;1s/.*g/g/;\$s/ .*//"|tr 'x
' \ |sh
Input is on stdin, one number per line.
Output is in the exit code: 0 for truthy, 1 for falsey.
This can probably be golfed more.
Sample run (the last test case provided in the challenge):
$ echo '98
> 87
> 76
> 11
> 12
> 23' | ./digittest > /dev/null; echo $?
1
(1 here is falsey.)