Answer:
To avoid conflicting uses of A register, few well-written programs follow the best practice, i.e, avoiding reference to M and vice versa. The programmer can use the A register to select either a data memory location for a subsequent C-instruction involving M, or an instruction memory location for a subsequent C-instruction involving a jump. Thus, to prevent the conflicting use of the A register, in well-written programs a C-instruction that may cause a jump (i.e., with some non-zero j bits) should not contain a reference to M, and vice versa.
Image is attached for better demonstration and understanding.
Answer:
Big Oh notation is used to asymptotically bound the growth of running time above and below the constant factor.
Big Oh notation is used to describe time complexity, execution time of an algorithm.
Big Oh describes the worst case to describe time complexity.
For the equation; T(N) = 10000*N + 0.00001*N^3.
To calculate first of all discard all th constants.
And therefore; worst case is the O(N^3).
Answer:
// here is code in C++
#include <bits/stdc++.h>
using namespace std;
// main function
int main()
{
// variables
int n,no_open=0;
cout<<"enter the number of lockers:";
// read the number of lockers
cin>>n;
// initialize all lockers with 0, 0 for locked and 1 for open
int lock[n]={};
// toggle the locks
// in each pass toggle every ith lock
// if open close it and vice versa
for(int i=1;i<=n;i++)
{
for(int a=0;a<n;a++)
{
if((a+1)%i==0)
{
if(lock[a]==0)
lock[a]=1;
else if(lock[a]==1)
lock[a]=0;
}
}
}
cout<<"After last pass status of all locks:"<<endl;
// print the status of all locks
for(int x=0;x<n;x++)
{
if(lock[x]==0)
{
cout<<"lock "<<x+1<<" is close."<<endl;
}
else if(lock[x]==1)
{
cout<<"lock "<<x+1<<" is open."<<endl;
// count the open locks
no_open++;
}
}
// print the open locks
cout<<"total open locks are :"<<no_open<<endl;
return 0;
}
Explanation:
First read the number of lockers from user.Create an array of size n, and make all the locks closed.Then run a for loop to toggle locks.In pass i, toggle every ith lock.If lock is open then close it and vice versa.After the last pass print the status of each lock and print count of open locks.
Output:
enter the number of lockers:9
After last pass status of all locks:
lock 1 is open.
lock 2 is close.
lock 3 is close.
lock 4 is open.
lock 5 is close.
lock 6 is close.
lock 7 is close.
lock 8 is close.
lock 9 is open.
total open locks are :3