Найти число Pi методом Монте-Карло. Ошибка в выводе числа - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Задача состоит в том, чтоб найти число Пи методом Монте-Карло плюс куча мелких заданий по этой программе. Кидаем монетку наугад, и смотрим попала или нет она в круг. Собственно нашел формулу и по ней сделал задание. Но не могу понять, почему число Пи выводит целым? (всегда округляет до 3,00000..). Помогите в решении проблемы. Заранее спасибо.
Листинг программы
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. #include <time.h>
  5. int main()
  6. {
  7. int i,n1=1000,n2=0,n0=0,p;
  8. float a,b,m,np;
  9. double Pi;
  10. np=n1*0.1;
  11. srand (500);
  12. for (i=1;i<=n1;i++){ //расчёт
  13. a = rand() % 100 * 0.01;
  14. b = rand() % 100 * 0.01;
  15. m = a*a+b*b; //формула
  16. printf ("%f %f %f %d \n", a,b,m,n2);
  17. }
  18. if (m<=1){
  19. n2++;
  20. }
  21. }
  22. Pi = 4 * n2 / n1;
  23. printf ("Pi = %f\n",Pi); //проблема
  24. system("PAUSE");
  25. return 0;
  26. }

Решение задачи: «Найти число Pi методом Монте-Карло. Ошибка в выводе числа»

textual
Листинг программы
  1. Pi = (double)4 * n2 / n1;

Объяснение кода листинга программы

  1. Создается переменная Pi типа double (число с плавающей точкой), и ей присваивается значение, равное 4 умноженному на n2, деленному на n1.
  2. В данном коде не указаны значения переменных n1 и n2, а также не указаны их типы данных.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.9 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы