Challenges

# Getting perfect squares, differently

+1
−0

Create a program that gets all perfect squares starting from 0 or 1 without using any methods of multiplication (repetitive addition) and exponentiation (repetitive multiplication). Output them for validation.

Things such as built-ins/functions related to these unusable methods can't be used either. pow(x,y) and x**y are examples of these unusable methods.

A simple, yet tricky activity! Being code-golf, the shortest program in each programming language wins!

Why does this post require moderator attention?
Why should this post be closed?

Banning builtins isn't a great idea (4 comments)
What exactly do you mean by "all"? (2 comments)

+1
−0

# Husk, 3 bytes

∫İ1


Try it online!

Scan from left over all odd numbers with addition.

Uses this formula:

$$n^2 = \sum_{k=1}^n(2k-1)$$

Why does this post require moderator attention?

+1
−0

# JavaScript (V8), 28 bytes

for(x=y=0;;++y)print(x+=++y)


Try it online!

Why does this post require moderator attention?

+1
−0

# Japt, 9 bytes

No infinite lists in Japt so we'll have to go with a recursive solution.

ßOpTµJJµ2


Test it

ßOpTµJJµ2
ß             :Recursive call with (irrelevant) argument
Op           :  Output with trailing newline (returns undefined and second argument is ignored)
TµJ        :    Decrement T (initially 0) by J (initially -1)
Jµ2     :    Decrement J by 2
Why does this post require moderator attention?

+0
−0

# Python 3, 34 bytes

x=0;y=1
while 1:x+=y;print(x);y+=2


Try it online!

1 is the int equivalent to True, which helps save bytes.

Why does this post require moderator attention?

+0
−0

# C (clang), 4745 43 bytes

i,j;main(){for(;printf("%i ",i-=~j);j+=2);}


Try it online!

Golfed 2 bytes from inspiration of @Shaggy's answer. Golfed 2 bytes by @m90.

Why does this post require moderator attention?

Improvement (1 comment)
+0
−0

# Lua, 41 40 bytes

x=0 y=1while""do print(x)x=x+y y=y+2 end


Try it online!

Why does this post require moderator attention?

+0
−0

# PHP, 57 bytes

<?php $x=0;$y=1;while(1){echo(string)($x+=$y)." ";\$y+=2;}


Try it online!

PHP's a nice language, I tell ya.

Why does this post require moderator attention? 