#1903706 Ross Meek   Nik Whitehead 

# first I created a
#function that determines
#if n is odd or even and
#displays true of false for if it is odd or even
iseven <- function(x){
if(x%%2==0){
print("TRUE")
}else{
print("FALSE")
}
}
# this then takes that
#information and decides what
#to do with it if its even devide
#by two if n is odd times by three add 1
a <- function(n){
if (iseven(n)) {
n/2
}else{
3*n+1
}
}
#this part is where in is inputed and
#uses a while statement to say if n is
#not equal to on when n is equal to 1 stop
n <- 1
s1 <- NULL
while(n != 1){
n <- a(n)
s1 <- c(b,n)
s1
}
s1
n <- 2
s2 <- NULL
while(n != 1){
n <- a(n)
s2 <- c(s2,n)
s2
}
n <- 3
s3 <- NULL
while(n != 1){
n <- a(n)
s3 <- c(s3,n)
s3
}
n <- 4
s4 <- NULL
while(n != 1){
n <- a(n)
s4 <- c(s4,n)
s4
}
n <- 5
s5 <- NULL
while(n != 1){
n <- a(n)
s5 <- c(s5,n)
s5
}
n <- 6
s6 <- NULL
while(n != 1){
n <- a(n)
s6 <- c(s6,n)
s6
}
n <- 7
s7 <- NULL
while(n != 1){
n <- a(n)
s7 <- c(s7,n)
s7
}
n <- 8
s8 <- NULL
while(n != 1){
n <- a(n)
s8 <- c(s8,n)
s8
}
n <- 9
s9 <- NULL
while(n != 1){
n <- a(n)
s9 <- c(s9,n)
s9
}
n <- 10
s10 <- NULL
while(n != 1){
n <- a(n)
s10 <- c(s10,n)
s10
}
n <- 11
s11 <- NULL
while(n != 1){
  n <- a(n)
  s11 <- c(s11,n)
  s11
}
n <- 12
s12 <- NULL
while(n != 1){
  n <- a(n)
  s12 <- c(s12,n)
  s12
}
n <- 13
s13 <- NULL
while(n != 1){
  n <- a(n)
  s13 <- c(s13,n)
  s13
}
n <- 14
s14 <- NULL
while(n != 1){
  n <- a(n)
  s14 <- c(s14,n)
  s14
}
n <- 15
s15 <- NULL
while(n != 1){
  n <- a(n)
  s15 <- c(s15,n)
  s15
}
n <- 16
s16 <- NULL
while(n != 1){
  n <- a(n)
  s16 <- c(s16,n)
  s16
}
n <- 17
s17 <- NULL
while(n != 1){
  n <- a(n)
  s17 <- c(s17,n)
  s17
}
n <- 18
s18 <- NULL
while(n != 1){
  n <- a(n)
  s18 <- c(s18,n)
  s18
}
n <- 19
s19 <- NULL
while(n != 1){
  n <- a(n)
  s19 <- c(s19,n)
  s19
}
n <- 20
s20 <- NULL
while(n != 1){
  n <- a(n)
  s20 <- c(s20,n)
  s20
}
n <- 21
s21 <- NULL
while(n != 1){
  n <- a(n)
  s21 <- c(s21,n)
  s21
}
n <- 22
s22 <- NULL
while(n != 1){
  n <- a(n)
  s22 <- c(s22,n)
  s22
}
n <- 23
s23 <- NULL
while(n != 1){
  n <- a(n)
  s23 <- c(s23,n)
  s23
}
n <- 24
s24 <- NULL
while(n != 1){
  n <- a(n)
  s24 <- c(s24,n)
  s24
}
n <- 25
s25 <- NULL
while(n != 1){
  n <- a(n)
  s25 <- c(s25,n)
  s25
}
n <- 26
s26 <- NULL
while(n != 1){
  n <- a(n)
  s26 <- c(s26,n)
  s26
}
n <- 27
s27 <- NULL
while(n != 1){
  n <- a(n)
  s27 <- c(s27,n)
  s27
}
n <- 28
s28<- NULL
while(n != 1){
  n <- a(n)
  s28 <- c(s28,n)
  s28
}
n <- 29
s29 <- NULL
while(n != 1){
  n <- a(n)
  s29 <- c(s29,n)
  s29
}
n <- 30
s30 <- NULL
while(n != 1){
  n <- a(n)
  s30 <- c(s30,n)
  s30
}
# This sets up the fib
fibn<-c(1,1)

# this sets up what numbers are fibanachi numbers 

for (i in 2:7) {
  
  # add to the end of fib the value of fib[i]+fib[i-1]
  
  fibn<-c(fibn,fibn[i]+fibn[i-1])
}
fibn
n<-c(1:30)
#set up
squaresn<-NULL

# Set up loop for what numbers have an interger square root

for (i in seq(n)){
  
  
  
  if (sqrt(n[i])==(round(sqrt(n[i])))){
    
    
    # Copy element to squares 
    squaresn<-c(squaresn,n[i])
  }
}
squares<-NULL
n<-1:30
for (i in seq(n)){
  
#here i used a ifelse function to imput 
  #true false for squares for the data frame 
  ifelse((sqrt(n[i])==(round(sqrt(n[i])))),
         squares<-c(squares,T),squares<-c
         (squares,F))
  
  # Copy element to squares 
  # squares<-c(squares,n[i])
  
  
}
# this I used for the first step of creating the terms for the dataframe 
length1<-length(s1)
length2<-length(s2)
length3<-length(s3)
length4<-length(s4)
length5<-length(s5)
length6<-length(s6)
length7<-length(s7)
length8<-length(s8)
length9<-length(s9)
length10<-length(s10)
length11<-length(s11)
length12<-length(s12)
length13<-length(s13)
length14<-length(s14)
length15<-length(s15)
length16<-length(s16)
length17<-length(s17)
length18<-length(s18)
length19<-length(s19)
length20<-length(s20)
length21<-length(s21)
length22<-length(s22)
length23<-length(s23)
length24<-length(s24)
length25<-length(s25)

length26<-length(s26)
length27<-length(s27)
length28<-length(s28)
length29<-length(s29)
length30<-length(s30)

lengthdata<-c(length1,length2,length3,length4,length5,length6,length7,length8,length9,length10,length11,length12,length13,length14,length15,length16,length17,length18,length19,length20,length21,length22,length23,length24,length25,length26,length27,length28,length29,length30)



fibtf<-c(T,T,T,F,T,F,F,T,F,F,F,F,T,F,F,F,F,F,F,F,T,F,F,F,F,F,F,F,F,F)
dataf<-data.frame(n,lengthdata,fibtf,squares)  
dataf
colnames(dataf)<-c("n","Terms","Fibonacci","Integersqrt")
dataf  
n2<-c(n*n)
dataf$Fibonacci<-n2
colnames(dataf)<-c("n","Terms","n*n","Integersqrt")
dataf
