All ASCII characters with a given bit count Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30 pm US/Eastern) The PPCG Site design is on its way - help us make it awesome! Sandbox for Proposed ChallengesBiplex: an important useless operatorConvert a “mixed-base” string to ASCIIAll Aboard the ASCII TrainSum of Modulo SumsCount the characters - bit by bit!Calculate the binary split sum of a wordMap inputted ASCII charactersDiluted Integer SumsCount the lucky tickets within the given rangeASCII Art Octagons
Co-worker works way more than he should
Why is arima in R one time step off?
Israeli soda type drink
Marquee sign letters
Writing a T-SQL stored procedure to receive 4 numbers and insert them into a table
How do I deal with an erroneously large refund?
SQL Server placement of master database files vs resource database files
Protagonist's race is hidden - should I reveal it?
Why would the Overseers waste their stock of slaves on the Game?
All ASCII characters with a given bit count
Are there existing rules/lore for MTG planeswalkers?
How can I wire a 9-position switch so that each position turns on one more LED than the one before?
Is it appropriate to mention a relatable company blog post when you're asked about the company?
Feather, the Redeemed and Dire Fleet Daredevil
Why do people think Winterfell crypts is the safest place for women, children & old people?
Has a Nobel Peace laureate ever been accused of war crimes?
What is the ongoing value of the Kanban board to the developers as opposed to management
Why I cannot instantiate a class whose constructor is private in a friend class?
Did war bonds have better investment alternatives during WWII?
"Working on a knee"
Why doesn't the university give past final exams' answers?
/bin/ls sorts differently than just ls
How to keep bees out of canned beverages?
`FindRoot [ ]`::jsing: Encountered a singular Jacobian at a point...WHY
All ASCII characters with a given bit count
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30 pm US/Eastern)
The PPCG Site design is on its way - help us make it awesome!
Sandbox for Proposed ChallengesBiplex: an important useless operatorConvert a “mixed-base” string to ASCIIAll Aboard the ASCII TrainSum of Modulo SumsCount the characters - bit by bit!Calculate the binary split sum of a wordMap inputted ASCII charactersDiluted Integer SumsCount the lucky tickets within the given rangeASCII Art Octagons
$begingroup$
(Title with thanks to @ChasBrown)
Sandbox
The Background
This challenge is inspired by a question that I recently posted on Puzzling Stack Exchange. Please feel free to follow the link if you are interested in the original question. If not then I won't bore you with the details here.
The Facts
Every printable standard ASCII character has a decimal value between 32 and 126 inclusive. These can be converted to their corresponding binary numbers in the range 100000 to 1111110 inclusive. When you sum the bits of these binary numbers you will always end up with an integer between 1 and 6 inclusive.
The Challenge
Given an integer between 1 and 6 inclusive as input, write a program or function which will output in any acceptable format all of the printable standard ASCII characters where the sum of the bits of their binary value is equal to the input integer.
Examples (showing output in four possible acceptable formats)
Input: 1
Output:
" "
"@"
Input: 2
Output: '!"$(0ABDHP`'
Input: 3
Output: "#%&)*,1248CEFIJLQRTXabdhp"
Input: 6
Output: ['?', '_', 'o', 'w', '', '', '~']
The Rules
- Assume the input will always be an integer (or string representation of an integer) between 1 and 6 inclusive.
- You may write a program to display the results or a function to return them.
- Output may be in any acceptable format but must be consistent for all inputs. If you choose to output a quoted string then the same type of quotes must be used for all inputs.
- Standard loopholes prohibited as usual.
- This is code golf so shortest code in each language wins.
Test Cases
A full set of expected results is available here (TIO) (ungolfed Python implementation).
code-golf
$endgroup$
add a comment |
$begingroup$
(Title with thanks to @ChasBrown)
Sandbox
The Background
This challenge is inspired by a question that I recently posted on Puzzling Stack Exchange. Please feel free to follow the link if you are interested in the original question. If not then I won't bore you with the details here.
The Facts
Every printable standard ASCII character has a decimal value between 32 and 126 inclusive. These can be converted to their corresponding binary numbers in the range 100000 to 1111110 inclusive. When you sum the bits of these binary numbers you will always end up with an integer between 1 and 6 inclusive.
The Challenge
Given an integer between 1 and 6 inclusive as input, write a program or function which will output in any acceptable format all of the printable standard ASCII characters where the sum of the bits of their binary value is equal to the input integer.
Examples (showing output in four possible acceptable formats)
Input: 1
Output:
" "
"@"
Input: 2
Output: '!"$(0ABDHP`'
Input: 3
Output: "#%&)*,1248CEFIJLQRTXabdhp"
Input: 6
Output: ['?', '_', 'o', 'w', '', '', '~']
The Rules
- Assume the input will always be an integer (or string representation of an integer) between 1 and 6 inclusive.
- You may write a program to display the results or a function to return them.
- Output may be in any acceptable format but must be consistent for all inputs. If you choose to output a quoted string then the same type of quotes must be used for all inputs.
- Standard loopholes prohibited as usual.
- This is code golf so shortest code in each language wins.
Test Cases
A full set of expected results is available here (TIO) (ungolfed Python implementation).
code-golf
$endgroup$
$begingroup$
Are we allowed to return/print a list of the decimal ascii values or do we need to have them in the form of characters (eg.63
vs?
)?
$endgroup$
– Benjamin Urquhart
4 hours ago
1
$begingroup$
Must be the actual characters.
$endgroup$
– ElPedro
4 hours ago
1
$begingroup$
"the same type of quotes must be used for all inputs" Python, for example, uses single quotes ('
) for the string representation of a string by default, but uses double quotes ("
) if the string contain a single quote and no double quotes. Not that this specific case will matter much, as you're probably better off returning the actual string instead of its representation, and you can still use single quotes in such a string for input anyway, but I feel it's worth mentioning here.
$endgroup$
– Erik the Outgolfer
4 hours ago
$begingroup$
@EriktheOutgolfer Agreed. That is why I thought it might be interesting just to throw that in as an extra rule :-)
$endgroup$
– ElPedro
1 hour ago
add a comment |
$begingroup$
(Title with thanks to @ChasBrown)
Sandbox
The Background
This challenge is inspired by a question that I recently posted on Puzzling Stack Exchange. Please feel free to follow the link if you are interested in the original question. If not then I won't bore you with the details here.
The Facts
Every printable standard ASCII character has a decimal value between 32 and 126 inclusive. These can be converted to their corresponding binary numbers in the range 100000 to 1111110 inclusive. When you sum the bits of these binary numbers you will always end up with an integer between 1 and 6 inclusive.
The Challenge
Given an integer between 1 and 6 inclusive as input, write a program or function which will output in any acceptable format all of the printable standard ASCII characters where the sum of the bits of their binary value is equal to the input integer.
Examples (showing output in four possible acceptable formats)
Input: 1
Output:
" "
"@"
Input: 2
Output: '!"$(0ABDHP`'
Input: 3
Output: "#%&)*,1248CEFIJLQRTXabdhp"
Input: 6
Output: ['?', '_', 'o', 'w', '', '', '~']
The Rules
- Assume the input will always be an integer (or string representation of an integer) between 1 and 6 inclusive.
- You may write a program to display the results or a function to return them.
- Output may be in any acceptable format but must be consistent for all inputs. If you choose to output a quoted string then the same type of quotes must be used for all inputs.
- Standard loopholes prohibited as usual.
- This is code golf so shortest code in each language wins.
Test Cases
A full set of expected results is available here (TIO) (ungolfed Python implementation).
code-golf
$endgroup$
(Title with thanks to @ChasBrown)
Sandbox
The Background
This challenge is inspired by a question that I recently posted on Puzzling Stack Exchange. Please feel free to follow the link if you are interested in the original question. If not then I won't bore you with the details here.
The Facts
Every printable standard ASCII character has a decimal value between 32 and 126 inclusive. These can be converted to their corresponding binary numbers in the range 100000 to 1111110 inclusive. When you sum the bits of these binary numbers you will always end up with an integer between 1 and 6 inclusive.
The Challenge
Given an integer between 1 and 6 inclusive as input, write a program or function which will output in any acceptable format all of the printable standard ASCII characters where the sum of the bits of their binary value is equal to the input integer.
Examples (showing output in four possible acceptable formats)
Input: 1
Output:
" "
"@"
Input: 2
Output: '!"$(0ABDHP`'
Input: 3
Output: "#%&)*,1248CEFIJLQRTXabdhp"
Input: 6
Output: ['?', '_', 'o', 'w', '', '', '~']
The Rules
- Assume the input will always be an integer (or string representation of an integer) between 1 and 6 inclusive.
- You may write a program to display the results or a function to return them.
- Output may be in any acceptable format but must be consistent for all inputs. If you choose to output a quoted string then the same type of quotes must be used for all inputs.
- Standard loopholes prohibited as usual.
- This is code golf so shortest code in each language wins.
Test Cases
A full set of expected results is available here (TIO) (ungolfed Python implementation).
code-golf
code-golf
asked 5 hours ago
ElPedroElPedro
3,6031023
3,6031023
$begingroup$
Are we allowed to return/print a list of the decimal ascii values or do we need to have them in the form of characters (eg.63
vs?
)?
$endgroup$
– Benjamin Urquhart
4 hours ago
1
$begingroup$
Must be the actual characters.
$endgroup$
– ElPedro
4 hours ago
1
$begingroup$
"the same type of quotes must be used for all inputs" Python, for example, uses single quotes ('
) for the string representation of a string by default, but uses double quotes ("
) if the string contain a single quote and no double quotes. Not that this specific case will matter much, as you're probably better off returning the actual string instead of its representation, and you can still use single quotes in such a string for input anyway, but I feel it's worth mentioning here.
$endgroup$
– Erik the Outgolfer
4 hours ago
$begingroup$
@EriktheOutgolfer Agreed. That is why I thought it might be interesting just to throw that in as an extra rule :-)
$endgroup$
– ElPedro
1 hour ago
add a comment |
$begingroup$
Are we allowed to return/print a list of the decimal ascii values or do we need to have them in the form of characters (eg.63
vs?
)?
$endgroup$
– Benjamin Urquhart
4 hours ago
1
$begingroup$
Must be the actual characters.
$endgroup$
– ElPedro
4 hours ago
1
$begingroup$
"the same type of quotes must be used for all inputs" Python, for example, uses single quotes ('
) for the string representation of a string by default, but uses double quotes ("
) if the string contain a single quote and no double quotes. Not that this specific case will matter much, as you're probably better off returning the actual string instead of its representation, and you can still use single quotes in such a string for input anyway, but I feel it's worth mentioning here.
$endgroup$
– Erik the Outgolfer
4 hours ago
$begingroup$
@EriktheOutgolfer Agreed. That is why I thought it might be interesting just to throw that in as an extra rule :-)
$endgroup$
– ElPedro
1 hour ago
$begingroup$
Are we allowed to return/print a list of the decimal ascii values or do we need to have them in the form of characters (eg.
63
vs ?
)?$endgroup$
– Benjamin Urquhart
4 hours ago
$begingroup$
Are we allowed to return/print a list of the decimal ascii values or do we need to have them in the form of characters (eg.
63
vs ?
)?$endgroup$
– Benjamin Urquhart
4 hours ago
1
1
$begingroup$
Must be the actual characters.
$endgroup$
– ElPedro
4 hours ago
$begingroup$
Must be the actual characters.
$endgroup$
– ElPedro
4 hours ago
1
1
$begingroup$
"the same type of quotes must be used for all inputs" Python, for example, uses single quotes (
'
) for the string representation of a string by default, but uses double quotes ("
) if the string contain a single quote and no double quotes. Not that this specific case will matter much, as you're probably better off returning the actual string instead of its representation, and you can still use single quotes in such a string for input anyway, but I feel it's worth mentioning here.$endgroup$
– Erik the Outgolfer
4 hours ago
$begingroup$
"the same type of quotes must be used for all inputs" Python, for example, uses single quotes (
'
) for the string representation of a string by default, but uses double quotes ("
) if the string contain a single quote and no double quotes. Not that this specific case will matter much, as you're probably better off returning the actual string instead of its representation, and you can still use single quotes in such a string for input anyway, but I feel it's worth mentioning here.$endgroup$
– Erik the Outgolfer
4 hours ago
$begingroup$
@EriktheOutgolfer Agreed. That is why I thought it might be interesting just to throw that in as an extra rule :-)
$endgroup$
– ElPedro
1 hour ago
$begingroup$
@EriktheOutgolfer Agreed. That is why I thought it might be interesting just to throw that in as an extra rule :-)
$endgroup$
– ElPedro
1 hour ago
add a comment |
17 Answers
17
active
oldest
votes
$begingroup$
8088 assembly, IBM PC DOS, 35 34 bytes
Machine code:
be81 00ad 80ec 308a f433 db8a c8d0 e973 0143 75f9 3af3 7504 b40e cd10 403c 7e7e e8c3
Listing:
BE 0081 MOV SI, 081H ; address of DOS PSP command line
AD LODSW ; load space (20H) and value from command line
80 EC 30 SUB AH, '0' ; convert to numeric value
8A F4 MOV DH, AH ; AL = counter, DH = target value
CHR_LOOP:
33 DB XOR BX, BX ; clear bit counter
8A C8 MOV CL, AL ; current char to CL for test
BIT_LOOP:
D0 E9 SHR CL, 1 ; shift LSB to CF
73 01 JNC EBIT_LOOP ; if LSB = 0, don't increment
43 INC BX ; increment '1' bit counter
EBIT_LOOP:
75 F9 JNZ BIT_LOOP ; loop until CL = 0
3A F3 CMP DH, BL ; is current char the target value?
75 04 JNE ECHR_LOOP ; if not, do not display
B4 0E MOV AH, 0EH ; BIOS write char function
CD 10 INT 10H ; write AL to screen
ECHR_LOOP:
40 INC AX ; increment char loop
3C 7E CMP AL, 126 ; is char <= 126?
7E E8 JLE CHR_LOOP ; if so, keep looping
C3 RET ; return to DOS
Standalone PC DOS executable program, input number from command line. Output is displayed to console window.
Download and test ABCT.COM.
$endgroup$
add a comment |
$begingroup$
05AB1E, 8 bytes
žQʒÇbSOQ
Try it online!
Explanation
žQ # push the printable ascii characters
ʒ # filter, keep elements whose
Ç # character code
b # converted to binary
SO # has a digit sum
Q # equal to the input
$endgroup$
add a comment |
$begingroup$
Python 2, 62 bytes
lambda n:[chr(i)for i in range(32,127)if bin(i).count('1')==n]
Try it online!
$endgroup$
$begingroup$
I was trying to makecount
work but couldn't quite work out how. Respect as always.
$endgroup$
– ElPedro
56 mins ago
add a comment |
$begingroup$
Japt, 9 bytes
;EƶXc¤è1
Try it
;EƶXc¤è1 :Implicit input of integer U
;E :Printable ASCII
Æ :Filter each X
¶ :Test U for equality with
Xc : Character code of X
¤ : To binary string
è1 : Count the 1s
$endgroup$
add a comment |
$begingroup$
Wolfram Language (Mathematica), 70 bytes
FromCharacterCode/@Select[32~Range~126,s=#;Tr@IntegerDigits[#,2]==s&]&
Try it online!
$endgroup$
add a comment |
$begingroup$
Python 2, 69 bytes
lambda n:[chr(i)for i in range(32,127)if sum(map(int,bin(i)[2:]))==n]
Try it online!
$endgroup$
$begingroup$
That's exactly what I got when I golfed my ref implementation. +1
$endgroup$
– ElPedro
4 hours ago
add a comment |
$begingroup$
Gaia, 10 bytes
₵R⟪¤cbΣ=⟫⁇
Try it online!
| implicit input, n
₵R | push printable ascii
⟪ ⟫⁇ | filter the list where:
¤cbΣ | the sum of the code point in binary
= | is equal to n
$endgroup$
add a comment |
$begingroup$
Java 8, 131 bytes
Returns a java.util.stream.Stream<String>
n->java.util.stream.IntStream.range(32,127).filter(i->Long.toBinaryString(i).chars().map(c->c-48).sum()==n).mapToObj(c->(char)c+"")
Try it online!
Using HashSet, 135 bytes. Returns a Set<Object>
:
n->new java.util.HashSet()for(int i=31;i++<126;add(Long.toBinaryString(i).chars().map(c->c-48).sum()==n?(char)i+"":""),remove(""));
Try it online!
$endgroup$
$begingroup$
128 bytes
$endgroup$
– Expired Data
41 mins ago
1
$begingroup$
Static access from non-static context reeeeeee. Thanks.
$endgroup$
– Benjamin Urquhart
40 mins ago
add a comment |
$begingroup$
Jelly, 8 bytes
ØṖOB§=ʋƇ
Try it online!
ØṖ printable ascii character list
OB to binary
§ popcount
= equal to input?
ʋƇ filter (implicitly output)
$endgroup$
add a comment |
$begingroup$
Dyalog APL Extended, 24 bytes
⎕ucs a⌿⍨(+⌿2⊤a←32…126)∘=
Try it online!
25 bytes in dzaima/APL:
⎕ucs a⌿⍨(+/¨2⊤¨a←32…126)=
Try it online!
$endgroup$
add a comment |
$begingroup$
JavaScript (Node.js), 70 69 bytes
n=>(g=x=>x>>7?'':Buffer((h=x=>x&&x%2+h(x>>1))(x)-n?0:[x])+g(x+1))(32)
Try it online!
$endgroup$
add a comment |
$begingroup$
PowerShell, 83 bytes
param($n)[char[]](32..126|?([convert]::ToString($_,2))
Try it online!
Takes input $n
, constructs a range from 32
to 126
and pulls out those numbers where |?
: the number, convert
ed ToString
in base 2
; converted t
oCharArray
; group
ed into 0
s and 1
s; taking the [1]
index of that grouping; taking the .count
thereof, and checking that it's -eq
ual to our input $n
umber. Those numbers are then cast as a char
-array and left on the pipeline. Output is implicit, with newlines between elements.
$endgroup$
add a comment |
$begingroup$
PHP, 72 bytes
for($x=31;$x++<126;)echo$argn==count_chars(decbin($x),1)[49]?chr($x):'';
Try it online!
New contributor
$endgroup$
add a comment |
$begingroup$
Ruby, 48 bytes
->n(' '..?~).selectx.ord.digits(2).sum==n
Try it online!
$endgroup$
add a comment |
$begingroup$
Perl 5 -a
, 50 bytes
map(sprintf'%b',$_)=~y/1//-$F[0]32..126
Try it online!
$endgroup$
add a comment |
$begingroup$
Charcoal, 10 bytes
Φγ⁼Σ↨℅ι²Iθ
Try it online! Link is to verbose version of code. Explanation:
γ Predefined ASCII characters
Φ Filtered by
ι Current character's
℅ ASCII code
↨ Converted to base
² Literal 2
Σ Summed
⁼ Equals
θ First input
I Cast to integer
Implicitly printed
$endgroup$
add a comment |
$begingroup$
Excel (2016 or later), 76 bytes
=CONCAT(IF(LEN(SUBSTITUTE(DEC2BIN(ROW(32:126)),0,))=A1,CHAR(ROW(32:126)),""))
Takes input from A1, outputs in whatever cell you put this formula. This is an array formula, so you need to press Ctrl-Shift-Enter to input it. The "2016 or later" is because it needs the CONCAT
function (the deprecated CONCATENATE
won't take an array as argument).
$endgroup$
$begingroup$
I like this. I'm a Lotus Notes and 123 guy so this works for me :-)
$endgroup$
– ElPedro
52 mins ago
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "200"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f183625%2fall-ascii-characters-with-a-given-bit-count%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
17 Answers
17
active
oldest
votes
17 Answers
17
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
8088 assembly, IBM PC DOS, 35 34 bytes
Machine code:
be81 00ad 80ec 308a f433 db8a c8d0 e973 0143 75f9 3af3 7504 b40e cd10 403c 7e7e e8c3
Listing:
BE 0081 MOV SI, 081H ; address of DOS PSP command line
AD LODSW ; load space (20H) and value from command line
80 EC 30 SUB AH, '0' ; convert to numeric value
8A F4 MOV DH, AH ; AL = counter, DH = target value
CHR_LOOP:
33 DB XOR BX, BX ; clear bit counter
8A C8 MOV CL, AL ; current char to CL for test
BIT_LOOP:
D0 E9 SHR CL, 1 ; shift LSB to CF
73 01 JNC EBIT_LOOP ; if LSB = 0, don't increment
43 INC BX ; increment '1' bit counter
EBIT_LOOP:
75 F9 JNZ BIT_LOOP ; loop until CL = 0
3A F3 CMP DH, BL ; is current char the target value?
75 04 JNE ECHR_LOOP ; if not, do not display
B4 0E MOV AH, 0EH ; BIOS write char function
CD 10 INT 10H ; write AL to screen
ECHR_LOOP:
40 INC AX ; increment char loop
3C 7E CMP AL, 126 ; is char <= 126?
7E E8 JLE CHR_LOOP ; if so, keep looping
C3 RET ; return to DOS
Standalone PC DOS executable program, input number from command line. Output is displayed to console window.
Download and test ABCT.COM.
$endgroup$
add a comment |
$begingroup$
8088 assembly, IBM PC DOS, 35 34 bytes
Machine code:
be81 00ad 80ec 308a f433 db8a c8d0 e973 0143 75f9 3af3 7504 b40e cd10 403c 7e7e e8c3
Listing:
BE 0081 MOV SI, 081H ; address of DOS PSP command line
AD LODSW ; load space (20H) and value from command line
80 EC 30 SUB AH, '0' ; convert to numeric value
8A F4 MOV DH, AH ; AL = counter, DH = target value
CHR_LOOP:
33 DB XOR BX, BX ; clear bit counter
8A C8 MOV CL, AL ; current char to CL for test
BIT_LOOP:
D0 E9 SHR CL, 1 ; shift LSB to CF
73 01 JNC EBIT_LOOP ; if LSB = 0, don't increment
43 INC BX ; increment '1' bit counter
EBIT_LOOP:
75 F9 JNZ BIT_LOOP ; loop until CL = 0
3A F3 CMP DH, BL ; is current char the target value?
75 04 JNE ECHR_LOOP ; if not, do not display
B4 0E MOV AH, 0EH ; BIOS write char function
CD 10 INT 10H ; write AL to screen
ECHR_LOOP:
40 INC AX ; increment char loop
3C 7E CMP AL, 126 ; is char <= 126?
7E E8 JLE CHR_LOOP ; if so, keep looping
C3 RET ; return to DOS
Standalone PC DOS executable program, input number from command line. Output is displayed to console window.
Download and test ABCT.COM.
$endgroup$
add a comment |
$begingroup$
8088 assembly, IBM PC DOS, 35 34 bytes
Machine code:
be81 00ad 80ec 308a f433 db8a c8d0 e973 0143 75f9 3af3 7504 b40e cd10 403c 7e7e e8c3
Listing:
BE 0081 MOV SI, 081H ; address of DOS PSP command line
AD LODSW ; load space (20H) and value from command line
80 EC 30 SUB AH, '0' ; convert to numeric value
8A F4 MOV DH, AH ; AL = counter, DH = target value
CHR_LOOP:
33 DB XOR BX, BX ; clear bit counter
8A C8 MOV CL, AL ; current char to CL for test
BIT_LOOP:
D0 E9 SHR CL, 1 ; shift LSB to CF
73 01 JNC EBIT_LOOP ; if LSB = 0, don't increment
43 INC BX ; increment '1' bit counter
EBIT_LOOP:
75 F9 JNZ BIT_LOOP ; loop until CL = 0
3A F3 CMP DH, BL ; is current char the target value?
75 04 JNE ECHR_LOOP ; if not, do not display
B4 0E MOV AH, 0EH ; BIOS write char function
CD 10 INT 10H ; write AL to screen
ECHR_LOOP:
40 INC AX ; increment char loop
3C 7E CMP AL, 126 ; is char <= 126?
7E E8 JLE CHR_LOOP ; if so, keep looping
C3 RET ; return to DOS
Standalone PC DOS executable program, input number from command line. Output is displayed to console window.
Download and test ABCT.COM.
$endgroup$
8088 assembly, IBM PC DOS, 35 34 bytes
Machine code:
be81 00ad 80ec 308a f433 db8a c8d0 e973 0143 75f9 3af3 7504 b40e cd10 403c 7e7e e8c3
Listing:
BE 0081 MOV SI, 081H ; address of DOS PSP command line
AD LODSW ; load space (20H) and value from command line
80 EC 30 SUB AH, '0' ; convert to numeric value
8A F4 MOV DH, AH ; AL = counter, DH = target value
CHR_LOOP:
33 DB XOR BX, BX ; clear bit counter
8A C8 MOV CL, AL ; current char to CL for test
BIT_LOOP:
D0 E9 SHR CL, 1 ; shift LSB to CF
73 01 JNC EBIT_LOOP ; if LSB = 0, don't increment
43 INC BX ; increment '1' bit counter
EBIT_LOOP:
75 F9 JNZ BIT_LOOP ; loop until CL = 0
3A F3 CMP DH, BL ; is current char the target value?
75 04 JNE ECHR_LOOP ; if not, do not display
B4 0E MOV AH, 0EH ; BIOS write char function
CD 10 INT 10H ; write AL to screen
ECHR_LOOP:
40 INC AX ; increment char loop
3C 7E CMP AL, 126 ; is char <= 126?
7E E8 JLE CHR_LOOP ; if so, keep looping
C3 RET ; return to DOS
Standalone PC DOS executable program, input number from command line. Output is displayed to console window.
Download and test ABCT.COM.
edited 2 hours ago
answered 3 hours ago
gwaughgwaugh
2,4981619
2,4981619
add a comment |
add a comment |
$begingroup$
05AB1E, 8 bytes
žQʒÇbSOQ
Try it online!
Explanation
žQ # push the printable ascii characters
ʒ # filter, keep elements whose
Ç # character code
b # converted to binary
SO # has a digit sum
Q # equal to the input
$endgroup$
add a comment |
$begingroup$
05AB1E, 8 bytes
žQʒÇbSOQ
Try it online!
Explanation
žQ # push the printable ascii characters
ʒ # filter, keep elements whose
Ç # character code
b # converted to binary
SO # has a digit sum
Q # equal to the input
$endgroup$
add a comment |
$begingroup$
05AB1E, 8 bytes
žQʒÇbSOQ
Try it online!
Explanation
žQ # push the printable ascii characters
ʒ # filter, keep elements whose
Ç # character code
b # converted to binary
SO # has a digit sum
Q # equal to the input
$endgroup$
05AB1E, 8 bytes
žQʒÇbSOQ
Try it online!
Explanation
žQ # push the printable ascii characters
ʒ # filter, keep elements whose
Ç # character code
b # converted to binary
SO # has a digit sum
Q # equal to the input
answered 4 hours ago
EmignaEmigna
48.3k434147
48.3k434147
add a comment |
add a comment |
$begingroup$
Python 2, 62 bytes
lambda n:[chr(i)for i in range(32,127)if bin(i).count('1')==n]
Try it online!
$endgroup$
$begingroup$
I was trying to makecount
work but couldn't quite work out how. Respect as always.
$endgroup$
– ElPedro
56 mins ago
add a comment |
$begingroup$
Python 2, 62 bytes
lambda n:[chr(i)for i in range(32,127)if bin(i).count('1')==n]
Try it online!
$endgroup$
$begingroup$
I was trying to makecount
work but couldn't quite work out how. Respect as always.
$endgroup$
– ElPedro
56 mins ago
add a comment |
$begingroup$
Python 2, 62 bytes
lambda n:[chr(i)for i in range(32,127)if bin(i).count('1')==n]
Try it online!
$endgroup$
Python 2, 62 bytes
lambda n:[chr(i)for i in range(32,127)if bin(i).count('1')==n]
Try it online!
answered 4 hours ago
LynnLynn
51.2k899234
51.2k899234
$begingroup$
I was trying to makecount
work but couldn't quite work out how. Respect as always.
$endgroup$
– ElPedro
56 mins ago
add a comment |
$begingroup$
I was trying to makecount
work but couldn't quite work out how. Respect as always.
$endgroup$
– ElPedro
56 mins ago
$begingroup$
I was trying to make
count
work but couldn't quite work out how. Respect as always.$endgroup$
– ElPedro
56 mins ago
$begingroup$
I was trying to make
count
work but couldn't quite work out how. Respect as always.$endgroup$
– ElPedro
56 mins ago
add a comment |
$begingroup$
Japt, 9 bytes
;EƶXc¤è1
Try it
;EƶXc¤è1 :Implicit input of integer U
;E :Printable ASCII
Æ :Filter each X
¶ :Test U for equality with
Xc : Character code of X
¤ : To binary string
è1 : Count the 1s
$endgroup$
add a comment |
$begingroup$
Japt, 9 bytes
;EƶXc¤è1
Try it
;EƶXc¤è1 :Implicit input of integer U
;E :Printable ASCII
Æ :Filter each X
¶ :Test U for equality with
Xc : Character code of X
¤ : To binary string
è1 : Count the 1s
$endgroup$
add a comment |
$begingroup$
Japt, 9 bytes
;EƶXc¤è1
Try it
;EƶXc¤è1 :Implicit input of integer U
;E :Printable ASCII
Æ :Filter each X
¶ :Test U for equality with
Xc : Character code of X
¤ : To binary string
è1 : Count the 1s
$endgroup$
Japt, 9 bytes
;EƶXc¤è1
Try it
;EƶXc¤è1 :Implicit input of integer U
;E :Printable ASCII
Æ :Filter each X
¶ :Test U for equality with
Xc : Character code of X
¤ : To binary string
è1 : Count the 1s
answered 4 hours ago
ShaggyShaggy
19.1k21768
19.1k21768
add a comment |
add a comment |
$begingroup$
Wolfram Language (Mathematica), 70 bytes
FromCharacterCode/@Select[32~Range~126,s=#;Tr@IntegerDigits[#,2]==s&]&
Try it online!
$endgroup$
add a comment |
$begingroup$
Wolfram Language (Mathematica), 70 bytes
FromCharacterCode/@Select[32~Range~126,s=#;Tr@IntegerDigits[#,2]==s&]&
Try it online!
$endgroup$
add a comment |
$begingroup$
Wolfram Language (Mathematica), 70 bytes
FromCharacterCode/@Select[32~Range~126,s=#;Tr@IntegerDigits[#,2]==s&]&
Try it online!
$endgroup$
Wolfram Language (Mathematica), 70 bytes
FromCharacterCode/@Select[32~Range~126,s=#;Tr@IntegerDigits[#,2]==s&]&
Try it online!
answered 4 hours ago
J42161217J42161217
14.4k21354
14.4k21354
add a comment |
add a comment |
$begingroup$
Python 2, 69 bytes
lambda n:[chr(i)for i in range(32,127)if sum(map(int,bin(i)[2:]))==n]
Try it online!
$endgroup$
$begingroup$
That's exactly what I got when I golfed my ref implementation. +1
$endgroup$
– ElPedro
4 hours ago
add a comment |
$begingroup$
Python 2, 69 bytes
lambda n:[chr(i)for i in range(32,127)if sum(map(int,bin(i)[2:]))==n]
Try it online!
$endgroup$
$begingroup$
That's exactly what I got when I golfed my ref implementation. +1
$endgroup$
– ElPedro
4 hours ago
add a comment |
$begingroup$
Python 2, 69 bytes
lambda n:[chr(i)for i in range(32,127)if sum(map(int,bin(i)[2:]))==n]
Try it online!
$endgroup$
Python 2, 69 bytes
lambda n:[chr(i)for i in range(32,127)if sum(map(int,bin(i)[2:]))==n]
Try it online!
answered 4 hours ago
NeilNeil
2,002324
2,002324
$begingroup$
That's exactly what I got when I golfed my ref implementation. +1
$endgroup$
– ElPedro
4 hours ago
add a comment |
$begingroup$
That's exactly what I got when I golfed my ref implementation. +1
$endgroup$
– ElPedro
4 hours ago
$begingroup$
That's exactly what I got when I golfed my ref implementation. +1
$endgroup$
– ElPedro
4 hours ago
$begingroup$
That's exactly what I got when I golfed my ref implementation. +1
$endgroup$
– ElPedro
4 hours ago
add a comment |
$begingroup$
Gaia, 10 bytes
₵R⟪¤cbΣ=⟫⁇
Try it online!
| implicit input, n
₵R | push printable ascii
⟪ ⟫⁇ | filter the list where:
¤cbΣ | the sum of the code point in binary
= | is equal to n
$endgroup$
add a comment |
$begingroup$
Gaia, 10 bytes
₵R⟪¤cbΣ=⟫⁇
Try it online!
| implicit input, n
₵R | push printable ascii
⟪ ⟫⁇ | filter the list where:
¤cbΣ | the sum of the code point in binary
= | is equal to n
$endgroup$
add a comment |
$begingroup$
Gaia, 10 bytes
₵R⟪¤cbΣ=⟫⁇
Try it online!
| implicit input, n
₵R | push printable ascii
⟪ ⟫⁇ | filter the list where:
¤cbΣ | the sum of the code point in binary
= | is equal to n
$endgroup$
Gaia, 10 bytes
₵R⟪¤cbΣ=⟫⁇
Try it online!
| implicit input, n
₵R | push printable ascii
⟪ ⟫⁇ | filter the list where:
¤cbΣ | the sum of the code point in binary
= | is equal to n
answered 4 hours ago
GiuseppeGiuseppe
18k31155
18k31155
add a comment |
add a comment |
$begingroup$
Java 8, 131 bytes
Returns a java.util.stream.Stream<String>
n->java.util.stream.IntStream.range(32,127).filter(i->Long.toBinaryString(i).chars().map(c->c-48).sum()==n).mapToObj(c->(char)c+"")
Try it online!
Using HashSet, 135 bytes. Returns a Set<Object>
:
n->new java.util.HashSet()for(int i=31;i++<126;add(Long.toBinaryString(i).chars().map(c->c-48).sum()==n?(char)i+"":""),remove(""));
Try it online!
$endgroup$
$begingroup$
128 bytes
$endgroup$
– Expired Data
41 mins ago
1
$begingroup$
Static access from non-static context reeeeeee. Thanks.
$endgroup$
– Benjamin Urquhart
40 mins ago
add a comment |
$begingroup$
Java 8, 131 bytes
Returns a java.util.stream.Stream<String>
n->java.util.stream.IntStream.range(32,127).filter(i->Long.toBinaryString(i).chars().map(c->c-48).sum()==n).mapToObj(c->(char)c+"")
Try it online!
Using HashSet, 135 bytes. Returns a Set<Object>
:
n->new java.util.HashSet()for(int i=31;i++<126;add(Long.toBinaryString(i).chars().map(c->c-48).sum()==n?(char)i+"":""),remove(""));
Try it online!
$endgroup$
$begingroup$
128 bytes
$endgroup$
– Expired Data
41 mins ago
1
$begingroup$
Static access from non-static context reeeeeee. Thanks.
$endgroup$
– Benjamin Urquhart
40 mins ago
add a comment |
$begingroup$
Java 8, 131 bytes
Returns a java.util.stream.Stream<String>
n->java.util.stream.IntStream.range(32,127).filter(i->Long.toBinaryString(i).chars().map(c->c-48).sum()==n).mapToObj(c->(char)c+"")
Try it online!
Using HashSet, 135 bytes. Returns a Set<Object>
:
n->new java.util.HashSet()for(int i=31;i++<126;add(Long.toBinaryString(i).chars().map(c->c-48).sum()==n?(char)i+"":""),remove(""));
Try it online!
$endgroup$
Java 8, 131 bytes
Returns a java.util.stream.Stream<String>
n->java.util.stream.IntStream.range(32,127).filter(i->Long.toBinaryString(i).chars().map(c->c-48).sum()==n).mapToObj(c->(char)c+"")
Try it online!
Using HashSet, 135 bytes. Returns a Set<Object>
:
n->new java.util.HashSet()for(int i=31;i++<126;add(Long.toBinaryString(i).chars().map(c->c-48).sum()==n?(char)i+"":""),remove(""));
Try it online!
edited 4 hours ago
answered 4 hours ago
Benjamin UrquhartBenjamin Urquhart
688111
688111
$begingroup$
128 bytes
$endgroup$
– Expired Data
41 mins ago
1
$begingroup$
Static access from non-static context reeeeeee. Thanks.
$endgroup$
– Benjamin Urquhart
40 mins ago
add a comment |
$begingroup$
128 bytes
$endgroup$
– Expired Data
41 mins ago
1
$begingroup$
Static access from non-static context reeeeeee. Thanks.
$endgroup$
– Benjamin Urquhart
40 mins ago
$begingroup$
128 bytes
$endgroup$
– Expired Data
41 mins ago
$begingroup$
128 bytes
$endgroup$
– Expired Data
41 mins ago
1
1
$begingroup$
Static access from non-static context reeeeeee. Thanks.
$endgroup$
– Benjamin Urquhart
40 mins ago
$begingroup$
Static access from non-static context reeeeeee. Thanks.
$endgroup$
– Benjamin Urquhart
40 mins ago
add a comment |
$begingroup$
Jelly, 8 bytes
ØṖOB§=ʋƇ
Try it online!
ØṖ printable ascii character list
OB to binary
§ popcount
= equal to input?
ʋƇ filter (implicitly output)
$endgroup$
add a comment |
$begingroup$
Jelly, 8 bytes
ØṖOB§=ʋƇ
Try it online!
ØṖ printable ascii character list
OB to binary
§ popcount
= equal to input?
ʋƇ filter (implicitly output)
$endgroup$
add a comment |
$begingroup$
Jelly, 8 bytes
ØṖOB§=ʋƇ
Try it online!
ØṖ printable ascii character list
OB to binary
§ popcount
= equal to input?
ʋƇ filter (implicitly output)
$endgroup$
Jelly, 8 bytes
ØṖOB§=ʋƇ
Try it online!
ØṖ printable ascii character list
OB to binary
§ popcount
= equal to input?
ʋƇ filter (implicitly output)
answered 4 hours ago
ZylviijZylviij
32014
32014
add a comment |
add a comment |
$begingroup$
Dyalog APL Extended, 24 bytes
⎕ucs a⌿⍨(+⌿2⊤a←32…126)∘=
Try it online!
25 bytes in dzaima/APL:
⎕ucs a⌿⍨(+/¨2⊤¨a←32…126)=
Try it online!
$endgroup$
add a comment |
$begingroup$
Dyalog APL Extended, 24 bytes
⎕ucs a⌿⍨(+⌿2⊤a←32…126)∘=
Try it online!
25 bytes in dzaima/APL:
⎕ucs a⌿⍨(+/¨2⊤¨a←32…126)=
Try it online!
$endgroup$
add a comment |
$begingroup$
Dyalog APL Extended, 24 bytes
⎕ucs a⌿⍨(+⌿2⊤a←32…126)∘=
Try it online!
25 bytes in dzaima/APL:
⎕ucs a⌿⍨(+/¨2⊤¨a←32…126)=
Try it online!
$endgroup$
Dyalog APL Extended, 24 bytes
⎕ucs a⌿⍨(+⌿2⊤a←32…126)∘=
Try it online!
25 bytes in dzaima/APL:
⎕ucs a⌿⍨(+/¨2⊤¨a←32…126)=
Try it online!
edited 4 hours ago
answered 4 hours ago
dzaimadzaima
16.1k22060
16.1k22060
add a comment |
add a comment |
$begingroup$
JavaScript (Node.js), 70 69 bytes
n=>(g=x=>x>>7?'':Buffer((h=x=>x&&x%2+h(x>>1))(x)-n?0:[x])+g(x+1))(32)
Try it online!
$endgroup$
add a comment |
$begingroup$
JavaScript (Node.js), 70 69 bytes
n=>(g=x=>x>>7?'':Buffer((h=x=>x&&x%2+h(x>>1))(x)-n?0:[x])+g(x+1))(32)
Try it online!
$endgroup$
add a comment |
$begingroup$
JavaScript (Node.js), 70 69 bytes
n=>(g=x=>x>>7?'':Buffer((h=x=>x&&x%2+h(x>>1))(x)-n?0:[x])+g(x+1))(32)
Try it online!
$endgroup$
JavaScript (Node.js), 70 69 bytes
n=>(g=x=>x>>7?'':Buffer((h=x=>x&&x%2+h(x>>1))(x)-n?0:[x])+g(x+1))(32)
Try it online!
edited 4 hours ago
answered 4 hours ago
ArnauldArnauld
81.9k798337
81.9k798337
add a comment |
add a comment |
$begingroup$
PowerShell, 83 bytes
param($n)[char[]](32..126|?([convert]::ToString($_,2))
Try it online!
Takes input $n
, constructs a range from 32
to 126
and pulls out those numbers where |?
: the number, convert
ed ToString
in base 2
; converted t
oCharArray
; group
ed into 0
s and 1
s; taking the [1]
index of that grouping; taking the .count
thereof, and checking that it's -eq
ual to our input $n
umber. Those numbers are then cast as a char
-array and left on the pipeline. Output is implicit, with newlines between elements.
$endgroup$
add a comment |
$begingroup$
PowerShell, 83 bytes
param($n)[char[]](32..126|?([convert]::ToString($_,2))
Try it online!
Takes input $n
, constructs a range from 32
to 126
and pulls out those numbers where |?
: the number, convert
ed ToString
in base 2
; converted t
oCharArray
; group
ed into 0
s and 1
s; taking the [1]
index of that grouping; taking the .count
thereof, and checking that it's -eq
ual to our input $n
umber. Those numbers are then cast as a char
-array and left on the pipeline. Output is implicit, with newlines between elements.
$endgroup$
add a comment |
$begingroup$
PowerShell, 83 bytes
param($n)[char[]](32..126|?([convert]::ToString($_,2))
Try it online!
Takes input $n
, constructs a range from 32
to 126
and pulls out those numbers where |?
: the number, convert
ed ToString
in base 2
; converted t
oCharArray
; group
ed into 0
s and 1
s; taking the [1]
index of that grouping; taking the .count
thereof, and checking that it's -eq
ual to our input $n
umber. Those numbers are then cast as a char
-array and left on the pipeline. Output is implicit, with newlines between elements.
$endgroup$
PowerShell, 83 bytes
param($n)[char[]](32..126|?([convert]::ToString($_,2))
Try it online!
Takes input $n
, constructs a range from 32
to 126
and pulls out those numbers where |?
: the number, convert
ed ToString
in base 2
; converted t
oCharArray
; group
ed into 0
s and 1
s; taking the [1]
index of that grouping; taking the .count
thereof, and checking that it's -eq
ual to our input $n
umber. Those numbers are then cast as a char
-array and left on the pipeline. Output is implicit, with newlines between elements.
answered 4 hours ago
AdmBorkBorkAdmBorkBork
28.1k468241
28.1k468241
add a comment |
add a comment |
$begingroup$
PHP, 72 bytes
for($x=31;$x++<126;)echo$argn==count_chars(decbin($x),1)[49]?chr($x):'';
Try it online!
New contributor
$endgroup$
add a comment |
$begingroup$
PHP, 72 bytes
for($x=31;$x++<126;)echo$argn==count_chars(decbin($x),1)[49]?chr($x):'';
Try it online!
New contributor
$endgroup$
add a comment |
$begingroup$
PHP, 72 bytes
for($x=31;$x++<126;)echo$argn==count_chars(decbin($x),1)[49]?chr($x):'';
Try it online!
New contributor
$endgroup$
PHP, 72 bytes
for($x=31;$x++<126;)echo$argn==count_chars(decbin($x),1)[49]?chr($x):'';
Try it online!
New contributor
New contributor
answered 2 hours ago
Russ GRuss G
313
313
New contributor
New contributor
add a comment |
add a comment |
$begingroup$
Ruby, 48 bytes
->n(' '..?~).selectx.ord.digits(2).sum==n
Try it online!
$endgroup$
add a comment |
$begingroup$
Ruby, 48 bytes
->n(' '..?~).selectx.ord.digits(2).sum==n
Try it online!
$endgroup$
add a comment |
$begingroup$
Ruby, 48 bytes
->n(' '..?~).selectx.ord.digits(2).sum==n
Try it online!
$endgroup$
Ruby, 48 bytes
->n(' '..?~).selectx.ord.digits(2).sum==n
Try it online!
answered 4 hours ago
G BG B
8,3261429
8,3261429
add a comment |
add a comment |
$begingroup$
Perl 5 -a
, 50 bytes
map(sprintf'%b',$_)=~y/1//-$F[0]32..126
Try it online!
$endgroup$
add a comment |
$begingroup$
Perl 5 -a
, 50 bytes
map(sprintf'%b',$_)=~y/1//-$F[0]32..126
Try it online!
$endgroup$
add a comment |
$begingroup$
Perl 5 -a
, 50 bytes
map(sprintf'%b',$_)=~y/1//-$F[0]32..126
Try it online!
$endgroup$
Perl 5 -a
, 50 bytes
map(sprintf'%b',$_)=~y/1//-$F[0]32..126
Try it online!
answered 3 hours ago
XcaliXcali
5,535521
5,535521
add a comment |
add a comment |
$begingroup$
Charcoal, 10 bytes
Φγ⁼Σ↨℅ι²Iθ
Try it online! Link is to verbose version of code. Explanation:
γ Predefined ASCII characters
Φ Filtered by
ι Current character's
℅ ASCII code
↨ Converted to base
² Literal 2
Σ Summed
⁼ Equals
θ First input
I Cast to integer
Implicitly printed
$endgroup$
add a comment |
$begingroup$
Charcoal, 10 bytes
Φγ⁼Σ↨℅ι²Iθ
Try it online! Link is to verbose version of code. Explanation:
γ Predefined ASCII characters
Φ Filtered by
ι Current character's
℅ ASCII code
↨ Converted to base
² Literal 2
Σ Summed
⁼ Equals
θ First input
I Cast to integer
Implicitly printed
$endgroup$
add a comment |
$begingroup$
Charcoal, 10 bytes
Φγ⁼Σ↨℅ι²Iθ
Try it online! Link is to verbose version of code. Explanation:
γ Predefined ASCII characters
Φ Filtered by
ι Current character's
℅ ASCII code
↨ Converted to base
² Literal 2
Σ Summed
⁼ Equals
θ First input
I Cast to integer
Implicitly printed
$endgroup$
Charcoal, 10 bytes
Φγ⁼Σ↨℅ι²Iθ
Try it online! Link is to verbose version of code. Explanation:
γ Predefined ASCII characters
Φ Filtered by
ι Current character's
℅ ASCII code
↨ Converted to base
² Literal 2
Σ Summed
⁼ Equals
θ First input
I Cast to integer
Implicitly printed
answered 3 hours ago
NeilNeil
83.2k745179
83.2k745179
add a comment |
add a comment |
$begingroup$
Excel (2016 or later), 76 bytes
=CONCAT(IF(LEN(SUBSTITUTE(DEC2BIN(ROW(32:126)),0,))=A1,CHAR(ROW(32:126)),""))
Takes input from A1, outputs in whatever cell you put this formula. This is an array formula, so you need to press Ctrl-Shift-Enter to input it. The "2016 or later" is because it needs the CONCAT
function (the deprecated CONCATENATE
won't take an array as argument).
$endgroup$
$begingroup$
I like this. I'm a Lotus Notes and 123 guy so this works for me :-)
$endgroup$
– ElPedro
52 mins ago
add a comment |
$begingroup$
Excel (2016 or later), 76 bytes
=CONCAT(IF(LEN(SUBSTITUTE(DEC2BIN(ROW(32:126)),0,))=A1,CHAR(ROW(32:126)),""))
Takes input from A1, outputs in whatever cell you put this formula. This is an array formula, so you need to press Ctrl-Shift-Enter to input it. The "2016 or later" is because it needs the CONCAT
function (the deprecated CONCATENATE
won't take an array as argument).
$endgroup$
$begingroup$
I like this. I'm a Lotus Notes and 123 guy so this works for me :-)
$endgroup$
– ElPedro
52 mins ago
add a comment |
$begingroup$
Excel (2016 or later), 76 bytes
=CONCAT(IF(LEN(SUBSTITUTE(DEC2BIN(ROW(32:126)),0,))=A1,CHAR(ROW(32:126)),""))
Takes input from A1, outputs in whatever cell you put this formula. This is an array formula, so you need to press Ctrl-Shift-Enter to input it. The "2016 or later" is because it needs the CONCAT
function (the deprecated CONCATENATE
won't take an array as argument).
$endgroup$
Excel (2016 or later), 76 bytes
=CONCAT(IF(LEN(SUBSTITUTE(DEC2BIN(ROW(32:126)),0,))=A1,CHAR(ROW(32:126)),""))
Takes input from A1, outputs in whatever cell you put this formula. This is an array formula, so you need to press Ctrl-Shift-Enter to input it. The "2016 or later" is because it needs the CONCAT
function (the deprecated CONCATENATE
won't take an array as argument).
answered 55 mins ago
Sophia LechnerSophia Lechner
86017
86017
$begingroup$
I like this. I'm a Lotus Notes and 123 guy so this works for me :-)
$endgroup$
– ElPedro
52 mins ago
add a comment |
$begingroup$
I like this. I'm a Lotus Notes and 123 guy so this works for me :-)
$endgroup$
– ElPedro
52 mins ago
$begingroup$
I like this. I'm a Lotus Notes and 123 guy so this works for me :-)
$endgroup$
– ElPedro
52 mins ago
$begingroup$
I like this. I'm a Lotus Notes and 123 guy so this works for me :-)
$endgroup$
– ElPedro
52 mins ago
add a comment |
If this is an answer to a challenge…
…Be sure to follow the challenge specification. However, please refrain from exploiting obvious loopholes. Answers abusing any of the standard loopholes are considered invalid. If you think a specification is unclear or underspecified, comment on the question instead.
…Try to optimize your score. For instance, answers to code-golf challenges should attempt to be as short as possible. You can always include a readable version of the code in addition to the competitive one.
Explanations of your answer make it more interesting to read and are very much encouraged.…Include a short header which indicates the language(s) of your code and its score, as defined by the challenge.
More generally…
…Please make sure to answer the question and provide sufficient detail.
…Avoid asking for help, clarification or responding to other answers (use comments instead).
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodegolf.stackexchange.com%2fquestions%2f183625%2fall-ascii-characters-with-a-given-bit-count%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
$begingroup$
Are we allowed to return/print a list of the decimal ascii values or do we need to have them in the form of characters (eg.
63
vs?
)?$endgroup$
– Benjamin Urquhart
4 hours ago
1
$begingroup$
Must be the actual characters.
$endgroup$
– ElPedro
4 hours ago
1
$begingroup$
"the same type of quotes must be used for all inputs" Python, for example, uses single quotes (
'
) for the string representation of a string by default, but uses double quotes ("
) if the string contain a single quote and no double quotes. Not that this specific case will matter much, as you're probably better off returning the actual string instead of its representation, and you can still use single quotes in such a string for input anyway, but I feel it's worth mentioning here.$endgroup$
– Erik the Outgolfer
4 hours ago
$begingroup$
@EriktheOutgolfer Agreed. That is why I thought it might be interesting just to throw that in as an extra rule :-)
$endgroup$
– ElPedro
1 hour ago