Рассчитываем остаток от деления a на b
R = a % b; // % - операция взятия остатка от деления
while (R != 0) // пока остаток не равен нулю выполняем цикл
{
a = b;
b = R;
R = a % b;
}
printf( "NOD %d " ,b);
getchar();
return 0;
}
// Наибольший общий делитель 2
#include <stdio.h>
Int nod( int a , int b ); //функция nod с двумя параметрами (целочисленными)
Int main()
{
int n1 = 56, n2 = 21;
int s = nod(56, 21);
printf( "NOD %d and %d raven%3d" , n1, n2, s);
getchar();
return 0;
}
int nod( int a , int b ) // заголовок функции, в "a" передается 56, в "b", соответственно, 21
{ // начало функции
Int R; // переменная для хранения остатка
В случае, если второе число больше первого меняем их местами
if ( a < b )
{
int c = a ;
a = b ;
b = c;
}
Рассчитываем остаток от деления a на b
R = a % b ; // % - операция взятия остатка от деления
while (R!=0) // пока остаток не равен нулю выполняем цикл
{
a = b ;
b = R;
R = a % b ;
}
Return b ; // возвращаем последний делитель в main
}
2) Найти наибольший простой делитель положительного целого числа.
Задайте целочисленное значение некоторой переменной. Последовательно разделите его на числа начиная с 2, до тех пор, пока остаток от деления не станет равным единице. Выведите на экран последний делитель.
|
|
// Наибольший простой делитель числа
#include <stdio.h>
int npd( int n );
Int main()
{
int a, c;
Вводим число, используем указатель,
То есть записываем это число в переменную a
scanf( "%d" , &a);
c = npd(a); /* "c" равно результату выполнения функции npd()
с аргументом, значение которого ввели с клавиатуры*/
printf( "%d" , c);
Getchar(); // два getchara из-за того, что используем scanf
getchar();
return 0;
}
Int npd( int n ) // функция поиска наибольшего простого делителя
{
int i = 2; // счетчик делителя
while (i*i <= n )
{
if ( n %i==0)
{
n = n / i;
}
Else
{
i = i++;
}
}
Return n ; // возвращаем это значение в main
}
3) Вывести Ряд Фибоначчи до определенного аргумента.
Задайте целочисленное значение некоторой переменной, являющейся номером элемента ряда Фибоначчи.
Выведите на экран Ряд Фибоначчи до указанного номера.
|
|
// Фибаначчи
#include <stdio.h>
void fiba( int a );
Int main()
{
int d ;
scanf( "%d" , &d);
fiba(d);
getchar();
getchar();
return 0;
}
Void fiba( int a )
{
int i=1,sum;
int e1 = 1, e2 = 1;
for ( int i = 1; i <= a ; i++)
{
if (i < 3)
{
printf( "%d " , e1);
}
Else
{
sum = e1+e2;
e1 = e2;
e2 = sum;
printf( "%d " , sum);
}
}
}
Вывод.
В ходе лабораторной работы изучен цикл while. С использованием цикла while написаны следующие программы: поиск наибольшего общего делителя двух положительных чисел (по алгоритму Эвклида), поиск наибольшего простого делителя числа, а также выведение ряда Фибоначчи до n элемента (значение n задается программистом).
Практическое задание для самостоятельной работы.
С помощью цикла while вывести на экран таблицы умножения.
Дата добавления: 2019-11-25; просмотров: 233; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!