Skip to content

Latest commit

 

History

History
118 lines (83 loc) · 3.27 KB

File metadata and controls

118 lines (83 loc) · 3.27 KB

Here's the solution:

import { OpenAI } from "openai";
import readline from "node:readline";

const rl = readline.createInterface({
  input: process.stdin,
  output: process.stdout
});

const question = (query) => {
  return new Promise((resolve) => {
    rl.question(query, (answer) => {
      resolve(answer);
    });
  });
};

const height = await question("Enter the current height above the ground in meters:");

const speed = await question("Enter the speed at which you're moving forward in meters per second:");

const gravity = await question("Enter the gravity in meters per second squared:");

const wind = await question("Enter the wind speed upwards in meters per second:");

// Distance to the hill
const distance = 100;

// Create prompt including inputs should include chain of thought

const prompt = `Current height above the ground: ${height} meters, Moving forward at: ${speed} meters per second, Gravity: ${gravity} meters per second squared, Wind upwards at: ${wind} meters per second, Distance to the hill: ${distance} meters, Time it will take to reach the hill: t, Here's the formula to calculate the time it will take to reach the hill: D = 1/2 * (g - w) * t^2.`;

// Call the language model with the prompt

const messages = [
{
    "role": "user",
    "content": prompt
}];

// 2. Create client
// -----------------------------------

const openai = new OpenAI({
  baseURL: "https://models.inference.ai.azure.com",
  apiKey: process.env.GITHUB_TOKEN,
});

// 3. Send the request
// -----------------------------------

const completion = await openai.chat.completions.create({
    model: 'gpt-4o-mini',
    messages: messages,
});

console.log(`Answer for "${prompt}":`);

// 4. Print the answer
// -----------------------------------

console.log(completion.choices[0]?.message?.content);

Sample output

Enter the current height above the ground in meters:100
Enter the speed at which you're moving forward in meters per second:3
Enter the gravity in meters per second squared:9.82
Enter the wind speed upwards in meters per second:3
Answer for "Current height above the ground: 100 meters, Moving forward at: 3 meters per second, Gravity: 9.82 meters per second squared, Wind upwards at: 3 meters per second, Distance to the hill: 100 meters, Time it will take to reach the hill: t, Here's the formula to calculate the time it will take to reach the hill: D = 1/2 * (g - w) * t^2.":
To determine the time \( t \) it will take to reach the hill, we can rearrange the formula you provided:

\[
D = \frac{1}{2} (g - w) t^2
\]

Where:
- \( D \) is the distance to the hill (100 meters),
- \( g \) is the acceleration due to gravity (9.82 m/s²),
- \( w \) is the upward wind speed (3 m/s).

First, we need to calculate \( g - w \):

\[
g - w = 9.82 \, \text{m/s}^2 - 3 \, \text{m/s} = 6.82 \, \text{m/s}^2
\]

Now, substituting \( D = 100 \) meters into the formula:

\[
100 = \frac{1}{2} \times 6.82 \times t^2
\]

To isolate \( t^2 \), we can multiply both sides by 2:

\[
200 = 6.82 t^2
\]

Next, we divide both sides by 6.82:

\[
t^2 = \frac{200}{6.82} \approx 29.34
\]

Now, taking the square root of both sides gives us \( t \):

\[
t \approx \sqrt{29.34} \approx 5.42 \, \text{seconds}
\]

So, it will take approximately **5.42 seconds** to reach the hill under the given conditions.