1 / 1 / 0
Регистрация: 31.03.2019
Сообщений: 14
1

Надо сделать из цикла рекурсию: найти число точек, лежащих внутри круга радиуса r

31.03.2019, 19:35. Показов 535. Ответов 2

Найти количество точек с целочисленными координатами, лежащих внутри круга радиуса r

C
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
int main()
{
    long long x, y, s = 0;
    double r;
    scanf("%lf", &r);
    for (x = -r-1; x<=r; x++)
        for (y = -r-1; y<=r; y++)
            if (x*x + y*y <= r*r) s++;
    printf("s = %d\n", s);
    return 0;
}
__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.03.2019, 19:35
Ответы с готовыми решениями:

Найти количество точек с целочисленными координатами, лежащих внутри круга радиуса r
не могу никак сообразить как посчитать через цикл количество точек в окружности заданного радиуса ....

Найти количество точек с целочисленными координатами лежащих внутри круга используя рекурсию
Найти количество точек с целочисленными координатами, лежащих внутри круга радиуса r Нужно...

Найти относительное число точек,лежащих внутри круга
Описать тип &quot;запись&quot;:точка на плоскости.Получить N точек,лежащих в квадрате со стороной А и центром...

Подсчитать количество точек, лежащих вне круга радиуса 2 с центром в точке (2, 2)
подсчитать количество точек, лежащих вне круга радиуса 2 с с центром в точке (2,2) помогите...

2
82 / 59 / 28
Регистрация: 15.05.2013
Сообщений: 184
02.04.2019, 13:48 2
Вот так, например

C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
 
int
points(int x, int y, double r, int s)
{
    if (r == 0) return 0;   /* нет окружности */
    if (x > r && y > r) return s;   /* точка вне окружности */
 
    if (x*x + y*y <= r*r) ++s;  /* принадлежит окружности? */
 
    if (y > r) return points(x+1, -r, r, s);    /* следующая точка по x, y сначала */
    else return points(x, y+1, r, s);   /* следующая точка по y, тот же x */
}
 
int
main(int argc, char *argv[])
{
    double r = 1.5;
    printf("%d\n", points(-r, -r, r, 0));
 
    return 0;
}
0
Модератор
Эксперт функциональных языков программированияЭксперт Python
33104 / 18448 / 3881
Регистрация: 12.02.2012
Сообщений: 31,014
Записей в блоге: 12
02.04.2019, 15:55 3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#include <stdlib.h>
 
int scan(int r, int x, int y, int s)
{
    if ((x*x+y*y) <= r*r) s++;
    x++;
    if (x>r)
    {
       x=-r;
       y++;
       if (y > r) return s;
    }
    return scan(r,x,y,s);
}        
 
int main(int argc, char *argv[])
{
 
  int r=3;
  int n=scan(3,-3,-3,0);
  printf("n=%d\n",n);
  system("PAUSE");  
  return 0;
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.04.2019, 15:55
Помогаю со студенческими работами здесь

Количество точек, лежащих внутри круга
Дано: n - натуральное число Выход количество точек Условие: необходимо найти количество...

Подсчет количества точек с целочисленными координатами, находящихся внутри круга заданного радиуса
Напишите программу для подсчета числа точек с целочисленными координатами, находящихся внутри круга...

Найти число точек, находящихся внутри круга радиусом r с центром в заданной точке
Нужно написать программу: Подсчитать число точек, находящихся внутри круга радиусом r с центром...

Задать n точек. Найти m=3,4... точек и построить на них m-угольник такой что, количество точек , лежащих внутри и вне m-угольника , минимально различа
Задать n точек. Найти m=3,4... точек и построить на них m-угольник такой что, количество точек ,...

Подсчитать число точек,находящихся внутри круга
Задача: подсчитать число точек,находящихся внутри круга радиусом R с центром в начале координат;...

Подсчитать число точек, находящихся внутри круга
Подсчитать число точек, находящихся внутри круга радиусом R c центром в начале координат....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru