Option Explicit
Sub abcd()
Dim a As Double, b As Double, eps As Double, i As Integer
eps = Cells(1, 1)
a = 2
i = 1
Cells(i + 1, 1) = a
Do
b = (2 + a * a) / (2 * a)
i = i + 1
Cells(i + 1, 1) = b
If Abs(b - a) < eps Then Exit Do
a = b
Loop
Cells(1, 2) = i
End Sub
Этот код помещается в проекте на лист. На этом листе в A1 надо записать желаемую точность, например 0.0000001.
В ячейку A2 будет помещено число шагов, а значения будут выводиться в первую колонку со второй строки.
#include <iostream>
using namespace std;
int F(int n) // сама функция
{
if(n<2) return 0; // простые числа начинаются от 2
if(n==3) return 1; // число 3 - простое
bool found = (n % 2 == 0); // если число четное, делитель найден
int p = 3;
while((!found) && (p*p <= n)) // цикл поиска делителя
found = (n % p == 0); // найден ли делитель
p+=2; // следующий делитель для проверки
}
return !found;
int main() // тестовая программа
int k;
cin >> k; // ввод числа
cout << "Result: " << F(k); // тестируем функцию
return 0;
Option Explicit
Sub abcd()
Dim a As Double, b As Double, eps As Double, i As Integer
eps = Cells(1, 1)
a = 2
i = 1
Cells(i + 1, 1) = a
Do
b = (2 + a * a) / (2 * a)
i = i + 1
Cells(i + 1, 1) = b
If Abs(b - a) < eps Then Exit Do
a = b
Loop
Cells(1, 2) = i
End Sub
Этот код помещается в проекте на лист. На этом листе в A1 надо записать желаемую точность, например 0.0000001.
В ячейку A2 будет помещено число шагов, а значения будут выводиться в первую колонку со второй строки.
#include <iostream>
using namespace std;
int F(int n) // сама функция
{
if(n<2) return 0; // простые числа начинаются от 2
if(n==3) return 1; // число 3 - простое
bool found = (n % 2 == 0); // если число четное, делитель найден
int p = 3;
while((!found) && (p*p <= n)) // цикл поиска делителя
{
found = (n % p == 0); // найден ли делитель
p+=2; // следующий делитель для проверки
}
return !found;
}
int main() // тестовая программа
{
int k;
cin >> k; // ввод числа
cout << "Result: " << F(k); // тестируем функцию
return 0;
}