The truss shown in the figure is to be considered. AE remains constant. F = 2.6 kN. To find the forces in the truss members, we need to analyze the truss using the method of joints.In the truss, there are five joints (A, B, C, D, E), and we can start the analysis from any joint.
We will begin by analyzing joint A. As we move in a clockwise direction from joint A, we find that the following forces act on the joint:- FA acting toward left and up- FB acting toward right and up- FD acting downward- Tension in AB acting toward right- Compression in AC acting toward downWhen the truss is in equilibrium, the sum of the forces acting on each joint is zero. Hence, we can write the equations of equilibrium for joint A as:∑F_x = 0 ⇒ FB - 2.6 = 0 ⇒ FB = 2.6 kN. (main answer)∑F_y = 0 ⇒ FA - 3.6 - 2 = 0 ⇒ FA = 5.6 kN. Now that we know the forces acting on joint A, we can move on to joint B. As we move in a clockwise direction from joint B,
We find that the following forces act on the joint:- FB acting toward left and up- FC acting toward down- FE acting toward right and up- Tension in BE acting toward leftWhen the truss is in equilibrium, the sum of the forces acting on each joint is zero. Hence, we can write the equations of equilibrium for joint B FC = 5.6 kN. (explanation)Now, we can move on to joint C and repeat the process to find the forces acting on each joint.
To know more about forces visit;
https://brainly.com/question/13191643
#SPJ11
The three logical operators in Python are: O and, but not O and, or, inverter O if, else, elsif O and, or, not Programming with style does what? o improves a programs runtime performance by optimizing function calls o improves the interpertation of a Python program o improves the readability of a program O nothing ... it is an empty phrase, signifying the wind
The three logical operators in Python are `and`, `or`, and `not`. Programming with style improves the readability of a program. The `and`, `or`, and `not` operators are three logical operators in Python.
These operators are used to compare expressions and evaluate whether a given statement is True or False. The `and` operator is used to check if two expressions are True. If both expressions are True, then the `and` operator returns True. If either expression is False, then the `and` operator returns False.The `or` operator, on the other hand, is used to check if one of two expressions is True. If either expression is True, then the `or` operator returns True. If both expressions are False, then the `or` operator returns False.The `not` operator is used to negate an expression. If an expression is True, then the `not` operator returns False. If an expression is False, then the `not` operator returns True.
Programming with style is the practice of writing code that is easy to read and understand. It involves using consistent naming conventions, indentation, and other formatting techniques to make the code more readable. By improving the readability of a program, it becomes easier to maintain and debug, reducing the likelihood of errors and improving the overall quality of the code.
The three logical operators in Python are `and`, `or`, and `not`. Programming with style is a practice of writing code that improves the readability of a program. It involves using consistent naming conventions, indentation, and other formatting techniques to make the code more readable. By improving the readability of a program, it becomes easier to maintain and debug, reducing the likelihood of errors and improving the overall quality of the code.
To learn more about logical operators visit:
brainly.com/question/13382082
#SPJ11
Suppose the system currently has two processes PO and Pl. (1) Let S and Q be two semaphores, which are both initialized to 1. The pseudo-codes of Po and P1 are shown as follows. Is it possible for the two processes to have a deadlock? Why? (4 marks) PO P1 wait(S) wait(S) wait(Q) wait(Q) // critical section // critical section signal(S) signal(Q) signal(Q) signal(S) (2) Let S, T and Q be three semaphores, where and T are both initialized to 1, and Q is initialized to 2. The pseudo-codes of PO and P1 are shown as follows. Is it possible for the two processes to have a deadlock? Why? (5 marks) PO P1 wait(S) wait(Q) wait(T) // critical section wait(S) wait(T) wait(Q) // critical section signal(T) signal(Q) signal(S) signal(Q) signal(T) signal(S)
(1) It is possible for the two processes to have a deadlock. The PO process might wait for semaphore S, and it is granted access. The P1 process might then be scheduled, where it waits for semaphore Q, which is granted access.
When PO is executed next, it waits for semaphore Q, which is held by P1, and P1 waits for semaphore S, which is held by PO. As a result, they both get stuck waiting for resources that the other process holds. This is a classic example of the circular wait condition in the deadlock.(2) It is possible for the two processes to have a deadlock. Both processes require access to semaphores Q and T to enter their critical sections.
When PO executes first, it will wait for semaphores S and Q to become available. When both of these are obtained, it will then wait for semaphore T, which is held by P1. P1 will, in turn, wait for semaphore S and T, which are both held by PO. This creates a circular wait condition, resulting in deadlock.The main answer is that in both cases, it is possible for the two processes to have a deadlock. In the first scenario, it is because of the circular wait condition, and in the second case, it is because both processes require access to the same resources to enter their critical sections. These conditions may cause the processes to be blocked, resulting in a deadlock.
Learn more about deadlock
https://brainly.com/question/29544979
#SPJ11
Write a program that has a declaration in main() to store the following numbers in an array named rates: 6.5, 7.2, 7.5, 8.3, 8.6, 9.4, 9.6, 9.8, and 10.0. Include a function call to show() that accepts rates in a parameter named rates and then displays the numbers by using the pointer notation *(rates + i).
Exercise 2: Modify the show() function written in Exercise 1 to alter the address in rates. Always use the expression *rates rather than *(rates + i) to retrieve the correct element.
The solution to this question is as follows:Program to store the given numbers in an array and display them using pointers#include using namespace std;
void show(float*);
int main() {float rates[9] = { 6.5, 7.2, 7.5, 8.3, 8.6, 9.4, 9.6, 9.8, 10.0 };
show(rates);return 0;}void show(float* rates) {int i;
cout
<< "The numbers are:\n";
for (i = 0; i < 9; i++)cout
<< *(rates + i) << endl;}
The function show() accepts the rates in a parameter named rates and displays the numbers by using the pointer notation *(rates + i).
Now, let us modify the show() function written in Exercise 1 to alter the address in rates. We will use the expression *rates instead of *(rates + i) to retrieve the correct element.
Modification of the show() function to alter the address in rates#include using namespace std;
void show(float*);i
nt main() {float rates[9] = { 6.5, 7.2, 7.5, 8.3, 8.6, 9.4, 9.6, 9.8, 10.0 };
show(rates);return 0;}
void show(float* rates)
{int i;float* temp;temp = rates;
cout
<< "The numbers are:\n";for (i = 0; i < 9; i++)cout
<< *temp++ << endl;}
This is how the program is coded in C++.
To learn more about parameter visit;
https://brainly.com/question/13916024
#SPJ11
Processing database transactions at READ COMMITTED isolation level Consider an anonymous PL/SQL block listed below. SET TRANSACTION ISOLATION LEVEL READ COMMITTED; DECLARE avgsal NUMBER (9,2); BEGIN FOR position_row IN (SELECT * FROM POSITION) LOOP SELECT AVG(salary) INTO avgsal FROM POSITION; UPDATE POSITION SET salary = salary + 0.00001*avgsal WHERE pnumber = position_row.pnumber; END LOOP; COMMIT; END; / (1) (1 mark) Assume, that the anonymous PL/SQL block is processed as a database transaction at READ COMMITTED ISOLATION level. Show a sample concurrent execution of the anonymous PL/SQL block listed above, such that the anonymous PL/SQL block interleaves the operations with another transaction and such that the results stored in a database are incorrect. The other transaction is up to you. When visualizing the concurrent executions use a technique of two-dimensional diagrams presented to you during the lecture classes, for example, see a presentation 14 Transaction Processing in Oracle DBMS slide 16. (2) (1 mark) Explain why the results obtained from a sample concurrent processing of database transactions are incorrect. When visualizing the concurrent executions use a technique of two-dimensional diagrams presented to you during the lecture classes, for example, see a presentation 14 Transaction Processing in Oracle DBMS slide 16. Deliverables A file solution3.pdf with:
The anonymous PL/SQL block can generate an incorrect result when executed concurrently with other transactions. It is because READ COMMITTED isolation level allows dirty reads, causing an inconsistent database state.
The anonymous PL/SQL block allows dirty reads due to READ COMMITTED isolation level that can cause inconsistent database states. Dirty reads happen when the concurrent transactions read uncommitted data from other transactions, and in this way, the results of both transactions can become incorrect. This scenario happens when the anonymous PL/SQL block reads the POSITION table to calculate the average salary and updates its salary column simultaneously.
Another concurrent transaction that can cause incorrect results can be updating the POSITION table. When the anonymous PL/SQL block updates the salary column of POSITION table simultaneously with another transaction, the results stored in the database will be incorrect as both transactions can overwrite each other's results. Therefore, the READ COMMITTED isolation level can cause inconsistency between the read and write transactions and leads to incorrect results.
Learn more about database here:
https://brainly.com/question/31541704
#SPJ11
The telescope bubble must be centered at the instant of sighting and the rod must be held vertical and steady. Explain the error involved in this case and illustrate.
The leveling rod must be held absolutely vertical and steady throughout the measuring process in addition to being correctly centered in the telescope bubble at the moment of sighting. As a result, parallax error is reduced and height readings are more accurate.
Consider a situation where a surveyor is measuring the height of a structure using a level or theodolite, a telescope, and a leveling rod in order to demonstrate the mistake.
Error resulting from improperly centered telescope bubble: If the surveyor fails to properly center the telescope bubble at the time of sighting, the line of sight through the telescope may not be completely horizontal. This might cause the line of sight to tilt or incline, which would result in inaccurate height measurements. The degree by which the bubble is off-center will determine the inaccuracy.
Error brought on by the rod not being maintained stable and vertical:
It can generate errors if the surveyor does not hold the leveling rod perfectly vertical.
Learn more about parallax error, from :
brainly.com/question/17057769
#SPJ4
Which of the following pentapeptides will have the highest
absorbance at 280 nm?
YHHHH
EWHWC
CHPHP
FFAFH
KHMMH
A pentapeptide is a molecule composed of five amino acid residues. Absorbance at 280 nm is a technique used to quantify protein concentration.
The absorbance at 280 nm is an important criterion for analyzing and quantifying peptides and proteins.Based on the amino acid composition, the molecule with the highest absorbance at 280 nm will be the one that contains the most aromatic amino acids, which absorb strongly at 280 nm.
Among the five pentapeptides, the following has the highest absorbance at 280 nm:FFAFHFFAFH contains two aromatic amino acids, phenylalanine (F), and histidine (H), both of which have high absorbance at 280 nm. Since the molecule has more aromatic amino acids than the other pentapeptides, it will have a higher absorbance at 280 nm. Therefore, the answer is option D.
To know more about pentapeptide visit:
https://brainly.com/question/28427902
#SPJ11
a truck has a speed of 90km/h when the brakes are applied. the truck is slowed down at the rate of 4m/s^2. what time is required in seconds to stop the truck?
The time required to stop the truck is 6.25 seconds.
In this question, we need to find the time required to stop the truck given that it has a speed of 90 km/h when the brakes are applied and it is slowed down at the rate of 4 m/s². We know that:1 km/h = 0.2778 m/s Therefore, the speed of the truck in m/s when the brakes are applied = 90 km/h × 0.2778 m/s = 25 m/s Let t be the time required to stop the truck. Using the formula: v = u + at where, v = final velocity = 0 (since the truck stops) u = initial velocity = 25 m/st = time taken a = acceleration = -4 m/s² (negative because the truck is decelerating) Substituting the values, we get:0 = 25 - 4t⇒ 4t = 25⇒ t = 25/4 seconds Therefore, the time required to stop the truck is 6.25 seconds. In this question, we are given the speed of a truck when the brakes are applied, and we need to find the time required to stop the truck. The truck is slowed down at the rate of 4 m/s². We can use the formula: v = u + at where, v is the final velocity, u is the initial velocity, a is the acceleration, t is the time taken. Since the truck stops when the brakes are applied, the final velocity is 0. The initial velocity can be found by converting the speed of the truck in km/h to m/s.1 km/h = 0.2778 m/s Therefore, the initial velocity = 90 km/h × 0.2778 m/s = 25 m/s. The acceleration is -4 m/s² (negative because the truck is decelerating). Substituting the values in the formula, we get:0 = 25 - 4tt = 25/4 seconds Therefore, the time required to stop the truck is 6.25 seconds.
The time required to stop the truck is 6.25 seconds, given that it has a speed of 90 km/h when the brakes are applied, and it is slowed down at the rate of 4 m/s².
To know more about velocity visit:
brainly.com/question/24259848
#SPJ11
Describe the purpose of the term ||w||2 in the objective function of the support vector machine.
The purpose of the term ||w||2 in the objective function of the support vector machine is to regularize the solution. In machine learning, regularization is the method of adding a penalty term to a loss function to reduce the risk of overfitting the data.
Overfitting is a common issue in machine learning where the model is too complex and performs well on the training data but poorly on the unseen test data. Regularization is used to address this issue by adding a penalty term to the objective function that discourages the model from becoming too complex.
The term ||w||2 in the objective function of the support vector machine is the L2 norm of the weight vector w. This term is added to the objective function to encourage the model to have smaller weight values.
This, in turn, reduces the complexity of the model and helps to prevent overfitting. The L2 norm of the weight vector is the sum of the squares of the weight values.
It is squared to make the term positive and to simplify the optimization problem. The regularization parameter C is used to control the trade-off between the margin maximization and the degree of regularization.
To know more about objective visit:
https://brainly.com/question/12569661
#SPJ11
#11 Assume a computer that has 16-bit integers. Show how each of the following values would be stored sequentially in memory in big endian order starting address 0X100, assuming each address holds one byte. Be sure to extend each value to the appropriate number of bits.
A) 0X2BB1
Blank#1
Blank#2
Blank#3
Blank#4
Given, a computer has 16-bit integers and we need to show how each of the following values would be stored sequentially in memory in big endian order starting address 0X100, assuming each address holds one byte. Be sure to extend each value to the appropriate number of bits.
We need to determine the byte values for the value 0X2BB1 (hexadecimal value).Big Endian: In Big Endian, the most significant byte of a word is stored in the smallest memory address and the least significant byte is stored in the largest address. Hence, the value of 0X2BB1 can be written as follows- The first byte (Most significant byte) will be "2B", which is 00101011 in binary.The second byte (Least significant byte) will be "B1", which is 10110001 in binary.Thus, the is: 0X2BB1 = 00101011 10110001.Hence, the blank values will be as follows -Blank#1 = 00Blank#2 = 1010Blank#3 = 1011Blank#4 = 10110001
Learn more about byte values
https://brainly.com/question/6835146
#SPJ11
In computer networking, please list and briefly describe two services provided by the transport layer to the application layer.
Two services provided by the transport layer to the application layer in computer networking are:
1. Connection-oriented communication: The transport layer establishes a connection between the sender and receiver before data transmission. This ensures reliable and ordered delivery of data. It is achieved through protocols like TCP (Transmission Control Protocol), which breaks data into packets, adds sequence numbers, and performs error checking to ensure data integrity.
2. Multiplexing and demultiplexing: The transport layer allows multiple applications running on the same device to share the network connection. It assigns a unique identifier called a port number to each application. Multiplexing combines data from multiple applications into a single stream for transmission, while demultiplexing separates incoming data streams and directs them to the correct application based on port numbers.
These services enable efficient and reliable data transfer between applications over a network, providing end-to-end communication. The connection-oriented communication ensures that data is delivered accurately and in the correct order, while multiplexing and demultiplexing allow multiple applications to coexist and share network resources.
In conclusion, the transport layer provides connection-oriented communication and multiplexing/demultiplexing services to the application layer. These services ensure reliable data delivery and efficient utilization of network resources for applications running on different devices.
To know more about Transport Layer visit-
brainly.com/question/31450841
#SPJ11
When I run the following code:
public class GasTank {
private double amount = 0;
private double capacity;
public GasTank(double i) {
capacity = i;
}
public void addGas(double i) { amount += i; if(amount > capacity) amount = capacity; / amount = amount < capacity ? amount+i : capacity;/ }
public void useGas(double i) { amount = amount < 0 ? 0 : amount - i; }
public boolean isEmpty() { return amount < 0.1 ? true : false; }
public boolean isFull() { return amount > (capacity-0.1) ? true : false; }
public double getGasLevel() { return amount; }
public double fillUp() { double blah = capacity - amount; amount = capacity; return blah; }
}
I get this error:
CODELAB ANALYSIS: COMPILER ERROR(S)
More Hints:
⇒ I haven't yet seen a correct solution that uses: /
Want More Hints? Click here
⇒ Compiler Error
The error in the code is caused by the use of /as a comment delimiter instead of //.
How is this so?In Java, single-line comments are denoted by //, while multi-line comments are denoted by/* ... */. To fix the error, replace / with // in the line that follows the addGas method -
public void addGas(double i) {
amount += i;
if (amount > capacity)
amount = capacity; // <-- Replace "/" with "//"
}
After making this change, the code should compile without any errors.
Learn more about delimiter at:
https://brainly.com/question/3239105
#SPJ4
Consider the binary search algorithm from Section 12.6.2. If no match is found, the binarySearch function returns -1. Modify the function so that if target is not found, the function returns –k, where k is the position before which the element should be inserted. Then, your main program will print the position where it was found. If not found, it will print the value after where it would be inserted :5 pts
Your code with comments
A screenshot of the execution
Test Cases:
List = [1, 4, 7, 10, 12, 15, 17, 20]
Enter a number: 10
Found in position 3
Enter a number: 11
Not Found. Insert after value 10.
Section 12.6.2 code:
def binarySearch(values, low, high, target):
if low <= high:
mid = (low + high) // 2
if values[mid] == target:
return mid
elif values[mid] < target:
return binarySearch(values, mid + 1, high, target)
else:
return binarySearch(values, low, mid - 1, target)
else:
return -1
Please make code copy-able. Thank you.
The program is used to find an element in a list. If the element is found in the list, the position of the element is returned, else -k is returned, where k is the position before which the element should be inserted. Following is the modified code for binary search algorithm with comments and test cases:
Code:```
(input("Enter a number: "))
# calling the binary search function and storing the result in a variable
result = binary
Search(List, 0, len(List)-1, target)
# If element is foundif result >= 0:
print("Found in position:", result+1)
# If element is not foundelse:
print("Not Found. Insert after value", List[-result-2])```Screenshot of execution: Output of Test Cases
`List: [1, 4, 7, 10, 12, 15, 17, 20]
Enter a number: 10
Found in position: 4
Enter a number: 11
Not Found. Insert after value 10```
To know more about position visit:
https://brainly.com/question/23709550
#SPJ11
Hydrogen (viscosity = 0.009 centipoise) is pump from a reservoir at 2x10³ kPa pressure through a horizontal commercial steel pipe (50-mm diameter) and 500 meters long. The pressure of this gas is raised to 2.6 x 10³ kPa by a pump at the upstream end of the pipe and the downstream pressure is 2.0 x 10³ kPa. The conditions of flow are isothermal and the temperature of the gas is 293K. The mass velocity in kilograms per meter² per second is _____ kg/m²-s.
Hydrogen (viscosity = 0.009 centipoise) is pumped from a reservoir at 2 x 10³ kPa pressure through a horizontal commercial steel pipe (50-mm diameter) 500 meters long. The pressure of this gas is raised to 2.6 x 10³ kPa by a pump at the upstream end of the pipe and the downstream pressure.
The conditions of flow are isothermal, and the temperature of the gas is 293K. We have to determine the mass velocity in kilograms per meter² per second.
We can find the mass velocity using the following relation;$$\ G = \frac{\dot{m}}{A} = \frac{\rho v A}{A} = \rho v $$The pressure gradient (ΔP/L) for the isothermal flow of an ideal gas.
To know more about pumped visit:
https://brainly.com/question/31064126
#SPJ11
Determine the min and max soil temperature that you would expect in Fredericton at a depth of 2.5m. the soil is course sand (dry density of 95 lb/ft3), 20% moist in winter, 5% moist in summer assume worst case range. Do calculation in imperial units.
The maximum and minimum soil temperatures that you would expect in Fredericton at a depth of 2.5m can be calculated by using the following formula:
T = Tsurf + (Tamp x sin((2π/365)(d - δ))) ± ΔT
In winter, when the soil is 20% moist, it has a higher thermal conductivity and can retain more heat compared to dry soil. This can result in a higher minimum soil temperature. In summer, when the soil is 5% moist, it has lower thermal conductivity and less heat retention capacity, leading to a lower maximum soil temperature.
To estimate the range of soil temperature, we need additional information such as the average air temperature and the thermal properties of the soil. Without these values, it is not possible to provide a specific range of soil temperature.
However, it is generally observed that the soil temperature at a depth of 2.5m is more stable and experiences less fluctuation compared to surface temperatures. This is because the deeper layers of soil are influenced by slower-changing factors such as long-term average air temperature and geothermal heat flux.
It is recommended to consult local climate data and soil temperature measurements for a more accurate estimation of the min and max soil temperature in Fredericton at a depth of 2.5m.
To know more about minimum soil temperatures visit:
https://brainly.com/question/29374898
#SPJ11
video signals are to be 20 combined for 8-bit PCM system with 1200 voice messages of range of (6 to 8) kHz and. Find the commutators speed to support required TDM multiplex of these two types' .signals and bandwidth rb1 = 39.4 Mbps, rb2-807.4 Mbps, BW=3.4 MHz. rb1 = 41.4 Mbps, rb2-809.4 Mbps, BW=5.4 MHz. rb1 = 43.4 Mbps, rb2-811.4 Mbps, BW=7.4 MHz. rb1 = 44.4 Mbps, rb2=812.4 Mbps, BW-8.4 MHz. rb1 = 42.4 Mbps, rb2-810.4 Mbps, BW=6.4 MHz. rb1 = 38.4 Mbps, rb2-806.4 Mbps, BW=2.4 MHz. rb1 = 40.4 Mbps, rb2-808.4 Mbps, BW=4.4 MHz. O O O O O O
Multiplexing is an approach that combines a number of signals and transmits them over a shared channel. Multiplexing can be divided into two types: Frequency Division Multiplexing (FDM) and Time Division Multiplexing (TDM). In Time Division Multiplexing (TDM), a single channel is shared by a number of devices, which take turns transmitting.
As a result, it is also referred to as a round-robin process. In this scenario, video signals are to be 20 combined for an 8-bit PCM system with 1200 voice messages of range of (6 to 8) kHz. The commutators speed required to support this necessary TDM multiplex of these two types of signals and bandwidth are to be calculated.
Let's find the required speed of the commutator: Total number of messages to be transmitted = 1200 + 20 = 1220As a result, the total band width required is: Band width required for 1200 messages = 1200 × (8 + 1) kHz = 10800 kHz Band width required for 20 video signals = 20 × 4 MHz = 80 MHz.
Total bandwidth required = 10800 + 80 = 10880 kHzAs a result, the commutator speed required is: Commutator speed = 10880 × 2 bits per second = 21760 kbps = 21.76 Mbps Therefore, the answer is rb1 = 41.4 Mbps, rb2-809.4 Mbps, BW=5.4 MHz.
To know more about Multiplexing visit:
https://brainly.com/question/15052768
#SPJ11
write a metlab code to calculate the following formula A= dN dt A = total activity N = number of particles t = time =
The Matlab code to calculate the formula A = dN/dt is given below: `N = input('Enter the number of particles: '); t = input('Enter the time period: '); A = N/t; %calculating total activity fprintf('The total activity is: %f', A);'dN/dt' is the derivative of N with respect to t.
It represents the rate of change of the number of particles with time. In this case, as N is constant, dN/dt is equal to zero. The above code takes the values of N and t from the user and calculates the total activity using the given formula. First, it prompts the user to enter the value of N and t using the input() function. Then, it calculates the value of A using the formula A = N/t. Finally, it displays the value of A using the fprintf() function with the string 'The total activity is: %f' where %f represents the value of A. This code is a simple example of how to use Matlab to perform calculations based on mathematical formulas and equations. By using Matlab, you can perform complex calculations quickly and easily, without having to write long and complicated programs.
In conclusion, the Matlab code to calculate the formula A = dN/dt is a simple example of how to use Matlab to perform mathematical calculations. It takes the values of N and t from the user and calculates the total activity using the given formula. It then displays the value of A using the fprintf() function. With Matlab, you can perform complex calculations quickly and easily, making it a powerful tool for scientists, engineers, and researchers.
To learn more about complex calculations visit:
brainly.com/question/30404194
#SPJ11
Implement the matrix chain-product problem. Test the algorithm on the following cases: An: 3 x 5, A1 :5 6. 42 : 6 x 4. 43: 4 x 7 lanswer: 246) : 40 : 5 x 4, 4:4x3, A2 : 3 X 6, 43 : 6x2. 41: 2 x 8. A. : 8 x 4, 46 : 4 x 7 answer: 290) :
The matrix chain-product problem is a classic computer science problem that requires finding the optimal multiplication sequence for a series of matrices. The matrix multiplication order is an important aspect of optimizing the matrix multiplication process.
This can be achieved using dynamic programming (DP). The matrix multiplication is the focus of this question. So, we'll go over how to implement it using Python.Algorithm to solve the matrix chain-product problem:Step 1: Create an m * m table where m is the number of matrices.Step 2: Fill in the diagonal of the table with zeros since there are no multiplications needed.
The function to find the optimal multiplication sequence for this case can be implemented as follows:def matrix_chain_order(p):n = len(p)cost = [[0 for x in range(n)] for x in range(n)]for i in range(1, n):cost[i][i] = 0for L in range(2, n):for i in range(1, n-L+1):j = i+L-1cost[i][j] = float('inf')for k in range(i, j):q = cost[i][k] + cost[k+1][j] + p[i-1]*p[k]*p[j]if q < cost[i][j]:cost[i][j] = qreturn cost[1][n-1]Using the above function, we can solve for the given case as follows:p = [3, 5, 4, 7]matrix_chain_order(p)
learn more about matrix chain-product
https://brainly.com/question/32672904
#SPJ11
You might think that n-1 multiplications are needed to compute z", since I" = I. II But observe that, for instance, since 6 = 4 + 2, Iº = 1¹1² = (1²) ²1². (Note: in binary, 6 is 110) Thus can be computed using three multiplications: one to computer², one to compute (r2)2, and one to multiply (22)2 times z². Similarly, since 11 8+2+1, ¹¹ = x²x²x¹ = ((x²)²) ²x²I (Note: in binary, 11 is 1011) So all can be computed using five multiplications. These potential patterns can be rewritten as: 26 = 21-22712120-20 211 21-230-22.71-21.1.20 a. Write an algorithm to take a real number z and a positive integer n and compute z". As you build the algorithm, note the relationship between the binary representation of n and the z2 terms that are included in the product. Remember that we can "shift" the binary digits of a number to the right by dividing by 2 (truncating to keep the value an integer) b.extra credit Analyze your algorithm in part (a) and determine the number of multiplications performed in terms of the value of n. c. Compare your algorithm's time complexity from part (b), with the solu- tion value of [log2 (n)]. If they are different, how much do they differ, and if not, what techniques did you use to approach your solution?
a. Algorithm to take a real number z and a positive integer n and compute z":function square(z){return z*z;}function power(z,n){if(n==1){return z;}else{var w=power(z, Math. floor(n/2));if(n%2==0){return square(w);}else{return square(w)*z;}}}b. Analysis of the algorithm in part (a) and determining the number of multiplications performed in terms of the value of n
We can write any positive integer in base 2 notation, for example, we have that 11 = 1 × 2³ + 0 × 2² + 1 × 2¹ + 1 × 2º, then applying the rule of decomposition of powers mentioned in the statement, we have that:
11 = 1 x (2 x 2)² + 0 x (2 x 2)¹ + 1 x (2 x 2)¹ + 1 x 2º11 = 1 x (4)² + 0 x (4)¹ + 1 x (4)¹ + 1 x 1
Then using the result of the decompositions above, we can obtain zⁿ, performing the multiplication of the terms that contain the base of z raised to the powers obtained in the previous decomposition.
Using the previous example:z¹¹ = z⁴. z⁴. z¹. z¹z¹¹ = z⁴. (z²)². z¹. z¹z¹¹ = z⁴. (z²)². z¹. z¹We can observe that to obtain z¹¹, we perform 5 multiplications, then for the general case,
we have that if n is represented in base 2 with k digits, the number of multiplications that our algorithm will perform will be 2(k-1), since in each digit of the representation except for the most significant, there will be 2 terms to multiply.
To know more about positive visit:
https://brainly.com/question/23709550
#SPJ11
LAB ACTIVITY 1 first_num= int(input()) 2 second_num = int(input()) 3 third_num = int(input()) 4 if first_num < (second_num or third_num): 5 print (first_num) 6 elif second_num < (first_num or third_num): 7 print (second_num) 8 else: 9 print (third_num)] 3.11.1: LAB: Smallest number main.py 7/10 Load default template...
The given code is a Python program to find the smallest number among three given numbers.
The given code is a Python program to find the smallest number among three given numbers. In the first three lines of the code, the values of the first_num, second_num, and third_num variables are taken from the user using the input() method. Then an if-elif-else block is used to find the smallest number among these three numbers. The conditions in the if statement are such that they check if the first number is smaller than either the second or the third number.
Similarly, the condition in the elif statement checks if the second number is smaller than either the first or the third number. Finally, if the above two conditions fail, then the third number must be the smallest number among the three, so it is printed using the else statement. This code works only when you give integers as inputs.
Learn more about Python program here:
https://brainly.com/question/32674011
#SPJ11
Suppose that your deadlock detection algorithm finds that there is a system deadlock. You know the following:
The system is a batch system
You are allowed to manually intervene with the deadlocked processes
The system has several processes that are low priority, and you are allowed to reallocate resources to processes as needed so long as you allow the original process to run eventually.
The operating system is unlikely to deadlock
Given these parameters, what deadlock recovery method would you recommend? Why? Be sure to address each of the supplied parameters in your answer (they'll lead you to the right answer!). This should take no more than 5 sentences.
If the deadlock detection algorithm finds that there is a system deadlock, the appropriate deadlock recovery method would be the "Process Termination Method." In this approach, low-priority processes that are deadlocked will be manually terminated by an operator.
When the system detects a deadlock, the operator must review the list of low-priority processes that are deadlocked and select one or more processes to terminate in order to break the deadlock.
The terminated processes' resources will be released to allow other processes to continue working.
Since the system is a batch system, the process's termination will not affect the users. Also, the operator will be allowed to reallocate resources to processes as needed so long as the original process to run eventually.
Finally, the operating system is unlikely to deadlock, which reduces the likelihood of a future deadlock.
To know more about Method visit:
https://brainly.com/question/14560322
#SPJ11
Subject- Java Programming, Encapsulation
You have heard of encapsulation, which protects attributes in a class. The IDE builds the getters and setters for all attributes in a class. Identify the times you may not want to provide a setter method for an attribute in your class.
Provide an example and explain why a setter method is not a good idea in this case
Encapsulation is an object-oriented programming principle in Java that allows you to protect the internal data of a class from external access or modification by limiting access to only certain methods. This is done by hiding the internal details of an object from the outside world and is achieved by declaring the variables of a class as private. To provide access to the private variables, the IDE builds the getters and setters for all attributes in a class. The getters retrieve the values of the private attributes while the setters set the values.
However, there are times when a setter method is not required for an attribute in a class.The following are the situations in which you might not want to provide a setter method for an attribute in your class:
1. When you want to prevent the modification of the value of an attribute after it has been initialized. In this situation, the attribute is declared as final and initialized in the constructor of the class. Once the value of a final attribute is set, it cannot be changed.
2. When you want to protect the attribute from being set to a value that is not acceptable. For example, if you have a class called Student and an attribute called age, you may not want the age to be set to a value less than zero or greater than 150. In this case, you would not provide a setter method for the age attribute. Instead, you would provide a method that would validate the age value and set it if it is within the acceptable range.
3. When you want to ensure that the attribute is set only once. For example, in a game, you might want to set the player's score only once when the game is finished. In this case, you would not provide a setter method for the score attribute because you want to ensure that it is set only once.
Setter methods are not a good idea when you want to prevent the modification of a value that has already been set or when you want to ensure that the attribute is set only once. For example, suppose you have a class called Bank Account with an attribute called account Number. You would not provide a setter method for the account Number attribute because you don't want the account number to be changed after it has been set. If a setter method were provided for this attribute, anyone with access to the class could change the account number, which could cause serious problems. In this case, the account number would be set when the Bank Account object is created, and there would be no need for a setter method.
To know more about Encapsulation visit:
https://brainly.com/question/13147634
#SPJ11
Consider the following code in C syntax (use static scoping):
# include
# include
int g(int a, int b)
{
a = a + 1;
return a + b;
}
void f( int a, int* b)
{
int c[3] = {0, 1, 2};
int i = 0;
a = i;
b = malloc(sizeof(int));
*b = 2;
c[1] = g(c[i], i);
printf ("%d -%d\n", a, *b);
printf ("%d -%d -%d\n", c[0] , c[1] , c[2]);
}
int main ()
{
int x = 5;
int* y = malloc(sizeof(int));
*y = 3;
f(x, y);
printf ("%d -%d\n", x, *y);
return x;
}
• (10 points) If parameters are passed by value, the output of this program is (Explain by
showing the call arguments to each function)
• (10 points) If parameters are passed by reference, the output of this program is (explain
with box and circle)
When parameters are passed by value in the given C code, the output of the program will be:
- In the main function, the variable x is assigned a value of 5, and the pointer y is assigned a dynamically allocated memory with a value of 3.
- The function f is called with the arguments x and y.
- Inside the function f, the variable a is assigned the value of 0, the pointer b is assigned a new dynamically allocated memory with a value of 2.
- The array c is initialized with values 0, 1, and 2.
- The function g is called with arguments c[0] (which is 0) and i (which is 0). It increments c[0] by 1 and returns the sum of c[0] and i, which is 1.
- The printf statements inside function f will print the values of a and *b (0 and 2 respectively) and the values of the array c (0, 1, and 2).
- Back in the main function, the printf statement will print the values of x and *y (5 and 3 respectively).
- The return statement in the main function will return the value of x, which is 5.
Conclusion:
The output of this program, when parameters are passed by value, will be:
0 - 2
0 - 1 - 2
5 - 3
To know more about Printf visit-
brainly.com/question/28765458
#SPJ11
What is the output of the following code? int foo(int n, int r) { if (n == 0) } int } 0 3 01 00 02 else return 0; return foo (n = 1, n + r); main() { cout << foo (3, 0);
The above code is recursive in nature and returns 0 as the answer. In the code, the function foo() takes two arguments n and r. In the main() function, foo() is called with 3 and 0 as arguments.
The output of the given code is 0.
What does the above code do?
The above code is recursive in nature and returns 0 as the answer. In the code, the function foo() takes two arguments n and r. In the main() function, foo() is called with 3 and 0 as arguments. The code will then recursively call itself while decreasing the value of n and increasing the value of r until n becomes 0. In the given code, if n is equal to 0, the code will return 0. If n is not equal to 0, the code will call foo() recursively with the value of n decreased by 1 and the value of r increased by 1. This recursive call will continue until the value of n is 0, at which point foo() will return 0. The final output of the code will be 0.Therefore, the output of the given code is 0.
To know more about code visit: https://brainly.com/question/17204194
#SPJ11
Using dynamic programming with O(mn) runtime, find the length of the longest common substring given two strings k = k1, k2,.....k3 and r = r1, r2,......r3. That is, find the largest p for which there are indices i and p with ki, ki+1....ki+p-1 = ri, ri+1,.....rj+p+1.
To find the length of the longest common substring of two strings k and r using dynamic programming with O(mn) runtime, follow the given steps:Step 1: Initialize an mxn matrix named dp (where m and n are the lengths of the two strings) with 0s.
Step 2: Traverse both strings k and r, and for each character of both strings, check if they are equal or not. If they are equal, then set the dp value of that particular cell (i,j) to dp(i-1,j-1)+1, otherwise, set the value to 0. This is known as the recurrence relation for the problem.Step 3: While calculating the dp matrix, keep track of the maximum value found so far and store the corresponding indices in variables i and p, where ki, ki+1....ki+p-1 = ri, ri+1,.....rj+p+1.Step 4: After completely filling the dp matrix, return the maximum value found in the matrix as the length of the longest common substring. If no common substring is found, then the maximum value would be 0. Dynamic Programming is a powerful algorithmic technique for solving optimization problems. In computer science, it is an efficient method of solving problems that have overlapping subproblems and can be broken down into simpler problems of the same type. In this approach, we break down a complex problem into smaller subproblems, solve them, and store their results to avoid redundant computation. This results in a significant reduction in computation time and space. The Longest Common Substring problem is a classic example of a problem that can be solved using dynamic programming.The Longest Common Substring problem asks us to find the length of the longest common substring of two given strings. The brute force approach for this problem is to compare every substring of one string with every substring of the other string and check if they match or not. This approach has a time complexity of O(mn^2) where m and n are the lengths of the two strings. This approach is not efficient for large inputs. A better approach is to use dynamic programming with O(mn) runtime.
The Longest Common Substring problem is a classic example of a problem that can be solved using dynamic programming. Dynamic Programming is a powerful algorithmic technique for solving optimization problems. In this approach, we break down a complex problem into smaller subproblems, solve them, and store their results to avoid redundant computation. The brute force approach for this problem has a time complexity of O(mn^2) which is not efficient for large inputs. A better approach is to use dynamic programming with O(mn) runtime. The dynamic programming approach involves initializing an mxn matrix with 0s, traversing both strings, and using a recurrence relation to fill the matrix. While calculating the matrix, we keep track of the maximum value found so far and store the corresponding indices to get the length of the longest common substring.
To learn more about dynamic programming visit:
brainly.com/question/30885026
#SPJ11
Based on the function below, answer the following question. Assume that helper(n) runs in O(n) time. (5 points) 1 void problem_2_2_b (int n) { 2 if (n<3) { 3 return; 4 } 5 int m=static_cast (floor (sqrt (n))) 6 for (int i = 0; i < 281; ++i) { helper (m); 8 for (int j = m; j
The answer is "The time complexity of the function problem_2_2_b(n) is O(m^2)."
The given function problem_2_2_b(n) is an algorithm that helps in calculating the time complexity of a program. Here, we need to calculate the time complexity of the given function.
Let's see the function in detail:
void problem_2_2_b(int n) {if (n < 3) {return;}
int m = static_cast(floor(sqrt(n)));
for (int i = 0; i < 281; ++i) {helper(m);
for (int j = m; j <= n - m * m; ++j) {helper(j);}}
Here, for any given value of n, the function problem_2_2_b(n) will work as follows. Initially, the function checks whether the given input value n is less than 3 or not.
If yes, then it immediately returns without performing any further operation on n. If no, then it goes into the next step.The function defines a variable m whose value is equal to the integer part of the square root of n. The line "int m=static_cast(floor(sqrt(n)))" calculates the square root of n and rounds it down to the nearest integer value. This calculation takes constant time, which is O(1) time.
The function has a loop that runs 281 times. For each iteration of this loop, the function calls the helper function, which takes time O(m) to run.
Therefore, this loop takes O(281*m) time to complete. Next, the function has another loop that runs from m to n-m^2. For each iteration of this loop, the function calls the helper function, which takes time O(j) to run. Therefore, this loop takes O((n-m^2)-m)*m) time to complete.
Combining all these time complexities, we get:O(1) + O(281m) + O((n-m^2-m)*m) = O(1 + 281m + (n-m^2-m)*m)
If we observe carefully, we can see that the highest power of m is 2 and the highest power of n is 1. So, the time complexity of this function problem_2_2_b(n) is O(m^2).
Therefore, the answer is "The time complexity of the function problem_2_2_b(n) is O(m^2)."
To learn more about complexity visit;
https://brainly.com/question/31836111
#SPJ11
Fill in the contents of the hash table below after inserting the items shown. To insert the item k use the has function k% Table size and resolve collisions with quadratic probing. Insert: 54, 174, 73, 213, 15 2) Now consider looking up some items that are not in the table after doing the insertions above. For each, give the list of buckets that are looked at in order before that the item is not present. Include all the buckets examined, whether or not they contain an item. i) 85 ii) 66 iii) 100 iv) 31
:The hash table is shown below. First, we need to define the hash function used to assign items to buckets in the hash table. k% Table size is the hash function used in this instance to assign items to a bucket. It assigns the bucket to be used for an item by taking the item key k, taking the modulo of k with the table size, and using the result as the index of the bucket for that item.Buckets 4, 7, 0, 3, and 2 contain items 54, 174, 73, 213, and 15, respectively.
Now let's look at the items that are not in the hash table after the insertions and the buckets that are searched for each item.i) Item 85Bucket 5: the item at this bucket is not the one we're searching for.Bucket 6: the item at this bucket is not the one we're searching for.Bucket 7: the item at this bucket is not the one we're searching for.ii) Item 66Bucket 6: the item at this bucket is not the one we're searching for.Bucket 7: the item at this bucket is not the one we're searching for.Bucket 8: there is no item in this bucket, but we stop looking because it is beyond the table size.iii) Item 100Bucket 0: the item at this bucket is not the one we're searching for.Bucket 1: there is no item in this bucket, but we stop looking because it is beyond the table size.iv) Item 31Bucket 1: there is no item in this bucket
Hash table is an associative array data structure that stores items using a key-value pair. The insertion of items into the hash table is based on the hash function that assigns items to buckets. Quadratic probing is used to resolve collisions by searching for the next empty bucket to store an item. When looking up an item in the hash table, the hash function is used to determine which bucket to search for the item. When an item is not in the hash table, buckets are searched in order until the end of the table or an empty bucket is reached. The buckets searched are recorded, whether or not they contain the item.
To know more about hash visit:
https://brainly.com/question/31386853
#SPJ11
A slope is to be excavated through a sand having the following properties: Bulk density (pb) = 1890 kg/m 29 O kN/m a) If the global factor of safety is to be 1.5 what angle can the slope (5 marks) be excavated to? b) The angle of internal friction above is found on site to vary and a revised factor of safety is suggested as an option. If the global factor of safety for the slope now cannot drop below 1.2 what is the lowest angle of internal friction that the soil could be found to be? (10 marks) Describe how vegetation and groundwater can influence the stability of slopes in cohesive and none-cohesive sols respectively. (5 marks) c)
a)The equation for the calculation of the factor of safety is as follows:
F.S = (C / W) + (Tan φ / Tan β)
where C = cohesive strength,W = weight of the soil mass, φ = angle of internal frictionβ = angle of slope inclination.Thus, using the above equation, we can determine the angle of slope inclination for a global factor of safety of 1.5. Here, we can assume a cohesive strength of zero since the soil is sand.
F.S = (C / W) + (Tan φ / Tan β)1.5
= (0 / 18900) + (Tan φ / Tan β)Tan β
= (Tan φ / 1.5)Tan β
= (Tan 0 / 1.5)Tan β
= 0β
= 0°
Thus, the slope can be excavated horizontally, i.e. the slope angle should be zero.b)The equation for the calculation of the factor of safety is as follows:
F.S = (C / W) + (Tan φ / Tan β)
where C = cohesive strength,W = weight of the soil mass,φ = angle of internal friction,β = angle of slope inclination
For a global factor of safety of 1.2, the equation becomes:
1.2 = (C / 18900) + (Tan φ / Tan β)
Assuming a cohesive strength of zero, the equation becomes:
1.2 = (0 / 18900) + (Tan φ / Tan β)Tan β
= (Tan φ / 1.2)
Assuming the angle of internal friction to be at its lowest, i.e. 30°, we get:
Tan β = (Tan 30 / 1.2)Tan β
= 0.4815β
= 25.6°
Thus, the lowest angle of internal friction that the soil could be found to be is 30°.c)Vegetation can influence the stability of slopes in cohesive soils by reducing the rate of water infiltration into the soil and increasing soil strength. Roots help to bind soil particles together, thus increasing its cohesion and reducing the likelihood of a slope failure.On the other hand, in non-cohesive soils, vegetation may not have a significant impact on slope stability. However, it can still provide some protection against erosion and provide some strength by anchoring soil particles together.Groundwater can influence the stability of slopes in cohesive soils by increasing the pore water pressure within the soil and reducing its effective stress.
This can lead to reduced soil strength and increase the likelihood of a slope failure.In non-cohesive soils, groundwater can increase the soil's weight, which can contribute to a decrease in the factor of safety of the slope. The seepage of water through the soil can also cause erosion, further reducing the stability of the slope.
To know more about factor of safety visit;
https://brainly.com/question/13385350
#SPJ11
Your site needs to have:
A fully functional navigation - at least four pages with working links and a navigation on every page. The nav should have some indication of what page the user is on.
A home page that is attached to either a 'home' button in the navigation or a visual identity (i.e. a logo).
At least one of each of the following HTML components:
A table
An image with a caption
A link to a website other than your own
A heading tag
A paragraph tag
A header
A footer
An index file that allows access to a folder without typing the file name
I will be checking the HTML for correct structure and syntax,
The website needs a fully functional navigation with at least four pages and an attached home page with HTML components including a table, image with caption, a link to another website, a heading tag, paragraph tag, header, footer, and index file.
When creating a website, it's important to ensure that it has a functional and easy-to-use navigation. At least four pages should be created, and each page should contain a navigation menu. This will help users navigate the site and make it easier for them to find what they're looking for. Additionally, a home page should be included that can be accessed either through a 'home' button in the navigation or a visual identity such as a logo.
To ensure that the website has a good structure, it's important to include at least one of each of the following HTML components: a table, an image with a caption, a link to a website other than your own, a heading tag, paragraph tag, header, footer, and an index file. This will ensure that the website is visually appealing, easy to read, and easy to navigate. When creating the website, it's important to check the HTML structure and syntax to ensure that it is correct and meets the required standards.
Learn more about HTML structure here:
https://brainly.com/question/30432486
#SPJ11
Explain how the systems of transaction processing and management information can be applied to an information system of a business on its different levels of management to take efficient managerial decisions
Transaction processing systems (TPS) and management information systems (MIS) can be applied to an information system of a business at different levels of management to make efficient managerial decisions.
Here is how they work:Transaction Processing System (TPS)TPS is a computer-based system used to store, retrieve, modify, and process transactions related to business operations. It is responsible for recording, processing, and updating the fundamental transactions that are at the core of the organization's operations. TPS can be used to automate routine tasks, reduce processing errors, and improve the accuracy of data entry. Here are the different levels of TPS systems that can be used for efficient managerial decision making:Operational Level - At the operational level, TPS systems are used to capture transaction data in real-time and provide immediate feedback to the business processes. TPS systems can be used to provide accurate and up-to-date information that can help employees make informed decisions. For example, at the operational level, TPS systems can be used to track inventory levels, monitor the flow of materials, and track customer orders. Tactical Level - At the tactical level, TPS systems are used to analyze transaction data to help managers make decisions. TPS systems can be used to identify trends, patterns, and anomalies in the data that can help managers make informed decisions. For example, at the tactical level, TPS systems can be used to analyze sales data, forecast demand, and plan production schedules. Strategic Level - At the strategic level, TPS systems are used to provide decision-makers with critical information needed to make long-term strategic decisions. TPS systems can be used to provide a competitive advantage by helping the organization to better understand customer needs and market trends. For example, at the strategic level, TPS systems can be used to analyze customer data to identify new opportunities for growth.
Management Information Systems (MIS)MIS is a computer-based system that provides information to support decision-making activities. It is used to provide managers with the information needed to make informed decisions. MIS systems can be used to analyze data, forecast trends, and provide reports that can be used to make informed decisions. Here are the different levels of MIS systems that can be used for efficient managerial decision making:Operational Level - At the operational level, MIS systems are used to provide managers with information needed to monitor and control operations. MIS systems can be used to monitor key performance indicators, identify exceptions, and provide feedback to employees. For example, at the operational level, MIS systems can be used to monitor inventory levels, track customer orders, and analyze sales data. Tactical Level - At the tactical level, MIS systems are used to provide managers with information needed to make informed decisions. MIS systems can be used to analyze data, forecast trends, and provide reports that can be used to make informed decisions. For example, at the tactical level, MIS systems can be used to analyze sales data, forecast demand, and plan production schedules. Strategic Level - At the strategic level, MIS systems are used to provide managers with information needed to make long-term strategic decisions. MIS systems can be used to analyze data, forecast trends, and provide reports that can be used to make informed decisions. For example, at the strategic level, MIS systems can be used to analyze customer data to identify new opportunities for growth.
To know more about Transaction processing systems visit:
https://brainly.com/question/32492743
#SPJ11
how are the piston pins of most aircraft engines lubricated? group of answer choices by pressure oil through a drilled passageway in the heavy web portion of the connecting rod. by oil which is sprayed or thrown by the master or connecting rods. by the action of the oil control ring and the series of holes drilled in the ring groove directing oil to the pin and piston pin boss.
The piston pins of most aircraft engines are lubricated by the action of the oil control ring and the series of holes drilled in the ring groove directing oil to the pin and piston pin boss.
"Lubrication of the piston pinsThe piston pins (also known as wrist pins or gudgeon pins) are lubricated by the engine oil. The oil is directed to the piston pin and the piston pin boss by the oil control ring and the series of holes drilled in the ring groove. The holes are aligned with the oil ring rails. The oil ring is an expandable metal ring that sits in a groove on the piston. The oil ring is responsible for controlling the amount of oil that reaches the piston and the piston pin.The oil control ring's primary function is to scrape excess oil from the cylinder walls during the downstroke and return it to the crankcase through the drain holes. The second function is to direct a thin film of oil to the piston pin and piston pin boss.The piston pins are also cooled by the engine oil. The oil draws heat away from the piston pin and transfers it to the cylinder walls. This heat transfer helps keep the piston pin within its operating temperature range.
Learn more about aircraft engines here :-
https://brainly.com/question/30831022
#SPJ11