Решение уравнения перебором
12 сентября 2018 - Администратор
Комментарии (0)
Нет комментариев. Ваш будет первым!
На этом уроке мы напишем программу на си для решения уравнения перебором Ищем решение уравнения в целых числах методом полного перебора При написании программы полезным бует урок Циклы в Си.Описание алгоритм программы решения уранения методом перебора.В программе вводится функция, которая определяет левую часть уравнения.Подробно о функции в Си
// задаем уравнение
int ur(int x, int y)
{
return x*x+x*y+1000;
}
Задается диапазон для обоих переменных,в котором будет производиться поиск решения. Диапазон задается с клавиатуры. Подробно о вводе информации в Си с клавиатуры
printf ("Задайте диапазон поиска\n");
printf("Левая граница\n");
scanf("%d", &a);
printf("Правая граница\n");
scanf("%d", &b);
Чтобы перебрать все значения переменных используются вложенные циклы for . Первый цикл отвечает за перебор для переменной x, второй вложенный цикл для переменной y.
// пробегаем все возможные x
for (i=a;i<b; i++)
{
// пробегаем всевозможные y
for (j=a;j<b; j++)
{
// проверка решения
if (ur(i,j)==0)
{
printf ("x =%d y= %d\n", i,j);// выводим решение
k=k+1; // увеличиваем количество решений
}
}
}
Пример полного решения программа на си решение уравнения перебором
//решение уравнения в целых числах с двумя переменными
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
// задаем уравнение
int ur(int x, int y)
{
return x*x+x*y+1000;
}
int main()
{
int i,j;
int a, b;// параметры для диапазона
int k=0;// счётчик решений
printf ("Задайте диапазон поиска\n");
printf("Левая граница\n");
scanf("%d", &a);
printf("Правая граница\n");
scanf("%d", &b);
// пробегаем все возможные x
for (i=a;i<b; i++)
{
// пробегаем всевозможные y
for (j=a;j<b; j++)
{
// проверка решения
if (ur(i,j)==0)
{
printf ("x =%d y= %d\n", i,j);// выводим решение
k=k+1; // увеличиваем количество решений
}
}
}
if (k==0){printf("В заданном диапазоне решений в целых числах нет\n");}
getch();
}
На заметку:
1. Чтобы проверить значения для двух переменных методом перебора, необходимо использовать вложенные циклы for
Задания для самостоятельной работы
Методом полного перебора ищем решение уравнения в целых числах с тремя переменными.
В данной программе нужно использовать три цикла for вложенные друг в друга.
Полезно почитать по теме циклы в си
Цикл for в си
Пример программы на си заполнение экрана цветным орнаментом
Поделиться
Нет комментариев. Ваш будет первым!