/    Sign up×
Community /Pin to ProfileBookmark

1 becomes 0 and 0 becomes 1

Hi,
I need to print numbers from 1 to 100 without using numbers.
So far I got to here, where I am trying to get numbers 1 and 0 but the problem is that one becomes 0 and zero becomes 1 after I use “–“

“`
let a = “a”;
let one = a.length;
let zero = one–;

console.log(`One is ${one} and zero is ${zero}`)
“`

Can you tell me why this is happening?

to post a comment
JavaScript

16 Comments(s)

Copy linkTweet thisAlerts:
@tracknutJul 22.2021 — You're misunderstanding what this does:

let zero = one--;
[/quote]

*post* decrement does the assignment into zero and *afterwards* it decrements one. It is equivalent to:

let zero = one;

--one;
[/quote]

*pre* decrement would first decrement one, then assign it to zero, leaving you with both zero and one = 0. Neither of those is likely what you want :) but rather something like this?

let zero = one;

--zero;
[/quote]
Copy linkTweet thisAlerts:
@NogDogJul 22.2021 — > @RaulRogojan#1634521 I need to print numbers from 1 to 100 without using numbers.

This is where you lost me. ;)
Copy linkTweet thisAlerts:
@codewitchJul 22.2021 — @RaulRogojan#1634521

I need to print numbers from 1 to 100 without using numbers.

<i>
</i>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;body&gt;

&lt;?php

$s="";
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';

$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';

$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';

$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';

$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';

$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';

$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';

$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';

$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';

$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';
$s=$s.'a'; echo strlen($s).'&lt;br /&gt;';

?&gt;

&lt;/body&gt;
&lt;/html&gt;


Explanation: you start with an empty string, then you just increase length of that string by one char string and you print its length. You repeat 100x.
Copy linkTweet thisAlerts:
@codyhillauthorJul 22.2021 — @NogDog#1634558 A friend of mine received this question on an interview so I give it a try.
Copy linkTweet thisAlerts:
@codyhillauthorJul 22.2021 — @codewitch#1634560 I think this is a better solution. :D
``<i>
</i>const one = "a".length;
const ten = "aaaaaaaaaa".length;
const oneHundred = ten * ten;

for(let i = one; i &lt;= oneHundred; i++) {
console.log(i);
};<i>
</i>
``

But I am still interested why what was I trying to do was not working
Copy linkTweet thisAlerts:
@codyhillauthorJul 22.2021 — @tracknut#1634554 if you console log that it says zero is = to 1. Which was the confusing part. I figure why one became = 0 but I did not understand why zero became = 1
Copy linkTweet thisAlerts:
@codyhillauthorJul 22.2021 — @tracknut#1634554 I have made this change and it works now.
``<i>
</i>let a = "a";
let one = a.length;
let zero = one - one;

console.log(
One is ${one} and zero is ${zero})<i>
</i>
`</CODE>
The reason I needed 0 is because I know "d".charCodAt = 100 but I need to write it this way<br/>
<C>
const hundred = "d".chatCodeAt(0);`

There is a need for a 0 witch by problem requirement I am not allowed to use numbers.

But I still don't understeand why zero = one-- became 1.
Copy linkTweet thisAlerts:
@codewitchJul 22.2021 — @RaulRogojan#1634563

Indeed, your solution is better.

Here is php version:

<i>
</i>&lt;!DOCTYPE html&gt;
&lt;html&gt;
&lt;body&gt;

&lt;?php

$one=strlen("a");
$ten=strlen("aaaaaaaaaa");
for($i=$one;$i&lt;=$ten*$ten;$i++){
echo $i.'&lt;br /&gt;';
}

?&gt;

&lt;/body&gt;
&lt;/html&gt;
Copy linkTweet thisAlerts:
@codyhillauthorJul 22.2021 — @codewitch#1634566 Awesome!
Copy linkTweet thisAlerts:
@tracknutJul 22.2021 — @RaulRogojan#1634565


But I still don't understeand why zero = one-- became 1.
[/quote]


because this line:

let zero = one--;
[/quote]

First assigns "zero" to the value of "one" (which is 1), and then *after that assignment* it decrements the value of "one"
Copy linkTweet thisAlerts:
@NogDogJul 22.2021 — @codewitch#1634566 PHP golf! . . .
[code=php]
<pre><?php foreach(range(true, ord('d')) as $i) echo "$in"; ?></pre>
[/code]
Copy linkTweet thisAlerts:
@codewitchJul 22.2021 — NogDog has a one line solution. Congratulations.

BTW What does it mean php golf?
Copy linkTweet thisAlerts:
@NogDogJul 22.2021 — And a few less "strokes":
[code=php]
<pre><?php echo implode("n", range(true, ord('d'))); ?></pre>
[/code]

;)
Copy linkTweet thisAlerts:
@codewitchJul 22.2021 — Here is my attempt:

<i>
</i>&lt;?php for($i=ord(false);$i&lt;ord("d");$i++){echo ($i+true).'&lt;br&gt;';} ?&gt;


It is one character shorter!

EDIT: Ok, NodDog, you have won!

Your: &lt;pre&gt;&lt;?php echo implode("n", range(true, ord("d"))); ?&gt;&lt;/pre&gt; has a length of 62

Mine: &lt;?php for($i=ord(false);$i&lt;ord("d");$i++){echo ($i+true).'&lt;br&gt;';} ?&gt; has a length of 68

Your code is shorter..
Copy linkTweet thisAlerts:
@NogDogJul 22.2021 — > @codewitch#1634572 BTW What does it mean php golf?

Used to be a thing (maybe still is) to have contests of sorts to see who could write the smallest amount of code to accomplish some task in a particular programming language. (I.e., in golf, the goal is to complete the course with the fewest number of strokes.)

Note that while it can be an interesting exercise, for the vast majority of applications your emphasis should be on code readability and maintainability -- number of characters is highly unimportant these days (as compared to decades ago when it could affect performance).
Copy linkTweet thisAlerts:
@codewitchJul 22.2021 — Thank you for the explanation.
×

Success!

Help @codyhill spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.13,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...