Решить систему уравнений - C (СИ)

  1. Друзья, помогите пожалуйста решить в сишном коде такое уравнение: 2^(x+1) > const > 2^x Нужно, чтобы программа вычисляла целочисленное X.


textual

Код:

#include <stdio.h>
#include <math.h>
 
int main()
{
    double C = 0, x;
    while(true)
    {
        printf("Enter C : ");
        scanf("%lf",&C);
        if(C <= 0)
            printf("Equation cannot be solved ln(val <= 0)\n");
        else
            printf("x = %lf\n", (x = log(C)/log(2) - 1));
    }
    return 0;
}


Похожие ответы
  1. Помогите с переводом из двоичной в восьмеричную систему счисления. Проверку по алфавиту можно отбросить. Интересует вариант разбития на триады. Не могу придумать алгоритм чтобы из строки бралось только 3 символа, а потом последующие 3, ну и если чисел для триады не хватает добавить нулей.

  1. Перевести трехзначное натуральное число, заданное в десятичной форме в двоичную систему счисления.

  1. написал код, не могу понять какие условия вписать, чтобы нельзя было вводить ничего кроме букв и цифрC1 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 #include "stdio.h" #include "math.h" #include "windows.h" #include "string.h"     int hexdec(char st[10]) {   int i, s, k, p;         s = 0;         p = strlen(st)-1;             for (i = 0; p>=0; i++, p--)   {     k=toupper(st[i]);             s+=((k>='A')?10+k-'A':k-'0')*pow(16,p);   }   return s; }   int main() {   char st[10];         scanf ("%s",  &st) ;             printf ("Result: %d\n",hexdec(st));             system("pause");   }мысль была, что нельзя ничего вводить кроме с 48 до 57 символа в аски и так же с буквами от а до f, как реализовать совсем не понимаю

  1. Помогите решить уравнение в C

  1. Нужно перевести число любой длины из двоичной в десятичную и чтобы после завершения перевода можно было опять вводить числа, а если число не из двоичной, то сразу останавливать программу. Из операторов вводa можно пользоваться только getchar.C1 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 #include   int main(void) {     int c, a;     int power=1;     int number=0;     c=getchar();     while (c != EOF)     {         a=((int)c);         a=a%10;         if((a==0)||(a==1))         {             number=number+a*power;             c=c/10;             power=power*2;         }         else         {             printf("That number isn't binary\n");         }         c=getchar();         printf("%d",number);     }     }Не понимаю почему программа не хочет отрезать последнее число. Перелистал форум, но так ничего похожего не нашел.

  1. C1 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 30 31 32 33 34 35 #include #include #include   main() {     int n;     const int radix;         setlocale(0, "");     do {     printf("Введите число в 10-чной системе счисления для перевода:\n");     scanf_s("%d", &n);     } while(n<0);         printf("Введите систему счисления в которую вы хотите перевести число:\n");     scanf_s("%d", &radix);         char buffer[] = "00000000";     int i = radix;         do {         int x = n % radix;         n = n / radix;         char z;         if( x<10 )           z='0'+x;         else           z='A'-10+x;         buffer = z;         i--;     } while (n>0);         printf("\nЗапись в %d-чной системе счисления: %s\n", radix, buffer); }В 30 строке ошибка [Error] assignment to expression with array type

  1. Нужно перевести число -10^9 int main() {     long long dv, ds, nc, os;     scanf ("%lld",&ds);     dv=0;     nc=1;     while (ds>1000000000 || ds<-1000000000)     {         printf ("put correct number\n");         scanf ("%lld",&ds);     }         if (ds==0)         {                 dv=0;                 printf("dv= %lld", dv);                 printf("\n");         }       if (ds>0)     {         while (ds!=0)         {             os=ds%2;             ds=(ds-os)/2;             dv=dv+os*nc;             nc=nc*10;         }         printf("dv= %lld", dv);         printf("\n");     }     else if (ds<0)     {         ds=ds*-1;         while (ds!=0)         {             os=ds%2;             ds=(ds-os)/2;             dv=dv+os*nc;             nc=nc*10;         }         dv=dv*-1;         printf("dv= %lld", dv);         printf("\n");     }       return 0; }

  1. 1) Известен периметр и площадь прямоугольного треугольника, если даны длины его катетов a и b. 2) Даны три действительных числа X, Y, Z. Перераспределить значение так, чтобы в X оказалось меньшее из этих значений, а в Z - больше. 3) Длина отрезка задана в дюймах (1 дюйм = 2,54 см). Перевести введенное значение длины в метрическую систему. 4) Древнерусские неметрические единицы длины: 1 верста = 500 саженей; 1 сажень = 3 аршина; 1 аршин = 16 вершков; 1 вершок = 44,45 мм. Длина некоторого отрезка составляет P метров. Перевести ее в древнерусскую неметрических систему. код к первой задаче... C1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include #include "stdafx.h" #include int main() {       double a, b, c, S, P;     printf("Katet a\n>");     scanf_s("%lf", &a);     printf("Katet b\n>");     scanf_s("%lf", &b);     S = (a*b)*0.5;     c = sqrt((a*a) + (b*b));     P = a + b + c;           printf("S=%f P=%f", S, P);           return 0; }надо 4 задачи записать в одной программе...помогите пожалуйста Язык си

  1. Здарова народ,помогите плиз,нужно число пи которое здесь получается,перевести каждое число в двоичную систему,как это сделать,вот это наччало программы,а дальше я не знаю что делать?C1 2 3 4 5 6 7 8 9 #include #include int main(int argc, char *argv[]) {     double pi, x;     pi=2.0*asin(1.0);     printf("%.20lf\n", pi);     return 0; }

  1. Помогите пожалуйста! Задали написать программу перевода из 10 в 2 сс. Но у меня почему-то она не работает. Или я не правильно что-то делаю.C1 2 3 4 5 6 7 8 9 10 11 12 13 int main() { int x,n,y;   scanf("%d",&x);   while (x > 0)     y = x % 2;     n = y + n;     x = x / 2;   printf ("%d",n); getch(); }