Форум программистов, компьютерный форум CyberForum.ru

Дано целое число m. получить найбольщее целое k при котором 4^k<m - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Аналог VB-функции Like http://www.cyberforum.ru/cpp-beginners/thread322954.html
Есть ли в C++ аналог этой функции? Чтобы программа по заданному шаблону проверяла подобие строк. Если есть, что подскажите что это за функция. Спасибо) Добавлено через 2 часа 52 минуты Неужели никто не знает???
C++ Структурa, вложеные структуры в С++ Вот ужасная структура, вроде бы написано всё правильно(я так думаю), но в чём проблема понять немогу пишет :STRUCT~2 вызвал ошибку при использовании стека в модуле STRUCT~2.EXE в 0002:000Е Платформа:Windows 3.x.(16) #include <iostream.h> #include <stdio.h> #include <fstream.h> http://www.cyberforum.ru/cpp-beginners/thread322935.html
ошибка при выводе меню C++
#include "stdafx.h" #include <iostream> #include <conio.h> #include <string.h> #include <windows.h> #include <fstream> using namespace std; class tovar {
Как вывести текстовое поле БД Access в Edit? C++
начало здесь http://www.cyberforum.ru/ms-access/thread321693.html Да ты прав, но появилась новая проблема.как вывести текстовое поле БД Акцес в Эдит?
C++ Найти наименьшее целое число вида 2^r, превосходящее n http://www.cyberforum.ru/cpp-beginners/thread322871.html
дано целое число n . найти наименьшее целое число вида 2^r превосходящее n
C++ Длинная арифметика. сумма факториалов. задание было вычислить 1\1! +1\2! + ... + 1/n! при n>10 ответ представить в виде несократимой дроби тип инт разрешает в данном случае, не более 18!, т.к. после этого он начинает выводить странные числа.. мне подсказали что нужно числа представить в виде массивов, и только тогда оперировать ими. Я просто не могу представить как это сделать.. помогите исправить код, пожалуйста... #include... подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
20.06.2011, 10:23     Дано целое число m. получить найбольщее целое k при котором 4^k<m
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int degree(int a, int n)
{
 int reslut, i,b;
 for (result=0, b=1, i=0; i<sizeof(n)*8; ++i)
 {
  if (n&b)
  {
   result+=b;
  }
 }
 return result;
}
int k(int m)
{
 int result;
 for (result=1, b=4; degree(4,result); ++result); 
 return result-1;
}
. Я пишу проги с 1995-го года, а на c++ с 2001-го, но даже я не уверен в правильности.

Добавлено через 1 минуту
Цитата Сообщение от pito211 Посмотреть сообщение
естественно К перебирать, эм же дано
Прогнал. Но на длинной арифметике так и будет. Я как то пытался сделать числа килобайтной разрядности, так вот, там будет до восьми тысячь ста девяносто одного шага. Хотя, в логарифме с экспонентой тоже будет много шагов. Но формулой надёжнее.

Добавлено через 39 секунд
Цитата Сообщение от grizlik78 Посмотреть сообщение
Пока задачу можно эффективно решить целочисленной арифметикой, это нужно делать.
Длинная тоже может быть целочисленной.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru