Can you please write the code in C Part A There is an old st
Can you please write the code in C++
Part A
There is an old story that the emperor wanted to thank the inventor of the game of chess and asked the inventor to name his reward. The inventor asked for one grain of rice for the first square, 2 for the second, 4 for the third, and so on, doubling for each of the 64 squares. That may sound modest, but there wasn’t that much rice in the empire! Write a program to calculate how many squares are required to give the inventor at least 1000 grains of rice, at least 1,000,000 grains, and at least 1,000,000,000 grains. You’ll need a loop, of course, and probably an int to keep track of which square you are at, an int to keep the number of grains on the current square, and an int to keep track of the grains on all previous squares. We suggest that you write out the value of all your variables for each iteration of the loop so that you can see what’s going on
Part B
Modify problem 3 to print the exact number of grains on all 64 squares. Use unsigned long long instead of int. (Note: This works on our
two compilers, but may not work on other C++ compilers.)
Solution
#include <iostream>
using namespace std;
int main(){
int squares=1;
int rices=1;
while(rices<=1000){
rices+=rices;
squares++;
}
cout<<\"Total numbers of squares required for 1000 grains: \"<<squares-1<<endl;
while(rices<=1000000){
rices+=rices;
squares++;
}
cout<<\"Total numbers of squares required for 1,000,000 grains: \"<<squares-1<<endl;
while(rices<=1000000000){
rices+=rices;
squares++;
}
cout<<\"Total numbers of squares required for 1,000,000,000 grains: \"<<squares-1<<endl;
long long totalRices = 1874310LL;
totalRices=rices;
while(squares<=65){
totalRices+=totalRices;
}
cout<<\"Total number of grains at the end is: \"<<totalRices-1<<endl;
}
