Question: Select the best solution: Write a function that will accept an empty vector of ints and an int and will fill the vector with the

Select the best solution:
Write a function that will accept an empty vector of ints and an int and will fill the vector with the ulam sequence \({}^{1}\) beginning with the int. You may assume that the int is greater than 2.
\({}^{1}\) The ulam sequence begins with an integer. If it is even, divide by 2. If it is odd, multiply by 3 and add 1. Then apply the appropriate rule to the resulting integer. Continue in this way until the number produced is 1. This sequence will always, eventually produce a value of 1.
```
void ulam(vector &V, int start)
{
V.push_back(start);
for (int i = start; i >1; i +=(i%2))
{
if(start %2==0)
start /=2;
else
start = start *3+1;
V.push_back(i);
}
}
``````
vector &V;
int start;
cout "Enter starting number" endl;
cin >> start;
V.push_back(start);
while(start >1)
{
if(start %2==0)
start /=2;
else
start = start *3+1;
V.push_back(start);
}
```
```
void ulam(vector &V, int start)
{
V.push_back(start);
while(start >1)
{
if(start %2==0)
start /=2;
else
start = start *3+1;
V.push_back(start);
}
}
``````
void ulam(vector &V, int start)
{
V.push_back(start);
while(start >1)
{
if(start %2==1)
start /=2;
else
start = start *3+1;
V.push_back(start);
}
}
```
Select the best solution: Write a function that

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!