Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 06.12.2020
Сообщений: 7
1

Найти наименьшее целое положительное число К, квадрат которого превосходит N:K*K>N

22.09.2021, 11:18. Показов 2312. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
дано целое число N>0. Найти наименьшее целое положительное число К, квадрат которого превосходит N:K*K>N.Функцию извлечения квадратного корня не использовать. На C++
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2021, 11:18
Ответы с готовыми решениями:

Найти наименьшее целое положительное число К, квадрат которого превосходит N
Дано целое число N>0. Найти наименьшее целое положительное число К, квадрат которого превосходит N:...

Найти наименьшее целое положительное число К квадрат которого превосходит N
Паскаль, задача дано целое число N>0 найти наименьшее целое положительное число К квадрат которого...

Найти наименьшее целое положительное число K, квадрат которого превосходит N
1) С использованием оператора For: Дано вещественное число A и целое число N (> 0). Используя...

Найти наименьшее целое положительное число K, квадрат которого превосходит N
Помогите, пожалуйста. Нужно на завтра. Заранее большое спасибо Вам. Нужно через цикл while Дано...

11
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
22.09.2021, 11:43 2
Делением пополам...
1
из племени тумба-юбма
2467 / 1790 / 417
Регистрация: 29.11.2015
Сообщений: 8,690
Записей в блоге: 15
22.09.2021, 12:06 3
что то типа деления пополам
C
1
2
3
min = n/2;
while(min*min >= n) min/=2;
while(min*min <= n) min++;
1
0 / 0 / 0
Регистрация: 06.12.2020
Сообщений: 7
22.09.2021, 12:12  [ТС] 4
можно пожалуйста полностью программу написать
0
Модератор
Эксперт CЭксперт С++
5174 / 2896 / 1501
Регистрация: 14.12.2018
Сообщений: 5,232
Записей в блоге: 1
22.09.2021, 12:13 5
Можно ли так?

https://www.cyberforum.ru/cgi-bin/latex.cgi?K=\left[\sqrt{N} \right]+1
0
из племени тумба-юбма
2467 / 1790 / 417
Регистрация: 29.11.2015
Сообщений: 8,690
Записей в блоге: 15
22.09.2021, 12:15 6
Цитата Сообщение от Volga_ Посмотреть сообщение
Можно ли так?
корень нельзя!
1
Модератор
Эксперт CЭксперт С++
5174 / 2896 / 1501
Регистрация: 14.12.2018
Сообщений: 5,232
Записей в блоге: 1
22.09.2021, 12:17 7
Цитата Сообщение от мама Стифлера Посмотреть сообщение
корень нельзя!
Да. Сейчас вижу это условие. Спасибо. Подумаю.
0
из племени тумба-юбма
2467 / 1790 / 417
Регистрация: 29.11.2015
Сообщений: 8,690
Записей в блоге: 15
22.09.2021, 12:21 8
Цитата Сообщение от Pasha222 Посмотреть сообщение
можно пожалуйста полностью программу написать
C
1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
int main()
{
int n, min;
printf("n = ");
scanf("%d", &n);
min = n/2;
while(min*min >= n) min/=2;
while(min*min <= n) min++;
printf("min = %d\n", min);
return 0;
}
0
Диссидент
Эксперт C
27706 / 17322 / 3812
Регистрация: 24.12.2010
Сообщений: 38,979
22.09.2021, 12:31 9
Цитата Сообщение от Volga_ Посмотреть сообщение
Можно ли так?
Если бы не условие, то законы этого не запрещают
Но лично я очень не люблю решать целочисленные задачи с привлечением double-арифметики...
1
из племени тумба-юбма
2467 / 1790 / 417
Регистрация: 29.11.2015
Сообщений: 8,690
Записей в блоге: 15
22.09.2021, 12:44 10
эм... все путаюсь в соседних ветках, выложил код для Си
вот для С++
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
int main()
{
int n, min;
std::cout << "n = ";
std::cin >> n;
min = n/2;
while(min*min >= n) min/=2;
while(min*min <= n) min++;
std::cout << "min = " << min << std::endl;
return 0;
}
0
823 / 626 / 321
Регистрация: 24.02.2017
Сообщений: 2,209
22.09.2021, 13:05 11
Лучший ответ Сообщение было отмечено мама Стифлера как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <iostream>
using namespace std;
 
int main(){
  int n,k=1;
 
  cin>>n;
  while(k<n/k)++k;
  k*k<=n ? k++ : k;
  cout<<k;
  return 0;
}
1
Модератор
Эксперт CЭксперт С++
5174 / 2896 / 1501
Регистрация: 14.12.2018
Сообщений: 5,232
Записей в блоге: 1
22.09.2021, 14:02 12
Я помню, что у Verevkin есть хорошее решение (по-моему) с использованием побитовых операций (<< или >>). Но не смог найти его решение. Отмечу его здесь.

Добавлено через 14 минут
Предлагаю код с использованием метода Ньютона:
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
26
27
28
29
#include <iostream>
using namespace std;
 
int main()
{
    int N;
    do
    {
        cout << "N = ";
        cin >> N;
    } while (N <= 0);
 
    int K = 1;
    int x = N;
    while (true)
    {
        int y = (x + N / x) / 2;
        if (y >= x)
        {
            K = x + 1;
            break;
        }
        x = y;
    }
    cout << "K = " << K;
 
    system("pause");
    return 0;
}
Сходимость будет быстро.
2
22.09.2021, 14:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2021, 14:02
Помогаю со студенческими работами здесь

Оператор while. Найти наименьшее целое положительное число K квадрат которого превосходит N
дано целое вещественное число N(&gt;0).Найти наименьшее целое положительное число K квадрат которого...

Дано целое число N>0. Найти наименьшее целое положительное число К, квадрат которого превосходит N:K*K>N
дано целое число N&gt;0. Найти наименьшее целое положительное число К, квадрат которого превосходит...

Найти наибольшее целое число K, квадрат которого не превосходит N
как решить? Дано целое число N (&gt; 0). Найти наибольшее целое число K, квадрат которого не...

Найти наименьшее целое положительное число К, квадрат которого превосходит N: К2 > N
4. Дано целое число N(&gt;0). Найти наименьшее целое положительное число К, квадрат которого...

Найти наименьшее целое положительное число К, квадрат которого превосходит N
Данное целое число N (&gt; 0). Найти наименьшее целое положительное число К, квадрат которого...

Найти наименьшее целое положительное число К, квадрат которого превосходит N
дано целое число N&gt;0. Найти наименьшее целое положительное число К, квадрат которого превосходит...

Найти наименьшее целое положительное число, квадрат которого превосходит
Дано целое число N (&gt; 0). Найти наименьшее целое положительное число K, квадрат которого...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru