помогите составить алгоритм плиз

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by kolobok2233, 18 Apr 2010.

  1. kolobok2233

    kolobok2233 New Member

    Joined:
    8 Mar 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    Нужно найти среднее арифметическое 2 чисел X и Y при условии что нельзя использовать * / . А можно только +-><. Заранее спасибо!
     
  2. Sunstrider

    Sunstrider Banned

    Joined:
    9 Apr 2010
    Messages:
    152
    Likes Received:
    10
    Reputations:
    4
    тут с матемом трудно,я просил по дискриминантам не смогли иди на виноград там мну сделали
     
  3. yaneblinchik

    yaneblinchik Member

    Joined:
    6 Feb 2010
    Messages:
    113
    Likes Received:
    19
    Reputations:
    0
    X + Y - (X+Y) Если че то > или < . Блин в голову не лезет,уставший
     
  4. kolobok2233

    kolobok2233 New Member

    Joined:
    8 Mar 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    да причем тут математика. c=(x+y)/2
    тока нельзя деление использовать и умножение
    сосотавить нада алгоритм
     
  5. Meecript_

    Meecript_ Banned

    Joined:
    29 Oct 2008
    Messages:
    194
    Likes Received:
    62
    Reputations:
    32
    Как-то так:
    PHP:
    int xxx(int Xint Y)
    {
        for(
    int i 1Y; ++i)
            if(
    Y
                return 
    1;
    }
     
  6. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    чего-то я не понимаю. у меня так не получается.

    вот моя версия:

    Code:
    do 
    {
          Y--;
          X++;
    }
    while (X<Y);
    return X;
    
    при условии X<Y (eсли на оборот, то просто меняем местами переменные)
    и оба числа чётные или нечётные(если одно чётное, другое нет, то вычитаем из результата 0,5.)
    
     
    #6 BrainDeaD, 18 Apr 2010
    Last edited: 18 Apr 2010
  7. Sunstrider

    Sunstrider Banned

    Joined:
    9 Apr 2010
    Messages:
    152
    Likes Received:
    10
    Reputations:
    4
    эмм вроде ТС просил алгоритм(кубики)
     
  8. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    774
    Likes Received:
    292
    Reputations:
    214
    а почему не кружочки?
    харе флудить иди читай http://ru.wikipedia.org/wiki/Алгоритм
     
  9. Sunstrider

    Sunstrider Banned

    Joined:
    9 Apr 2010
    Messages:
    152
    Likes Received:
    10
    Reputations:
    4
    не сорь,прост на икт у нас там тип начала и тд
     
  10. kolobok2233

    kolobok2233 New Member

    Joined:
    8 Mar 2010
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    это блок-схема называется
     
  11. Sunstrider

    Sunstrider Banned

    Joined:
    9 Apr 2010
    Messages:
    152
    Likes Received:
    10
    Reputations:
    4
    Упс точно,извиняюсь
     
  12. Ra$cal

    Ra$cal Elder - Старейшина

    Joined:
    16 Aug 2006
    Messages:
    670
    Likes Received:
    185
    Reputations:
    78
    int x = 13, y = 14;
    int z = (x + y ) >> 1;

    хз можно ли сдвиги юзать.


    Code:
    #include <iostream>
    #include <utility>
    int mean (int x, int y);
    
    int main(){
    
    	for(int i = 0; i < 1000; i++){
    		int x = rand(), y = rand();
    		int result = mean(x, y);
    		int expected = (x + y) / 2;
    		std::cout << "mean(" << x << ", " << y << ") = " << result << " Expected = " << expected << std::endl;
    		if( result != expected){
    			std::cout << "error: x = " << x << " y = " << y << " result = " << mean(x,y) << std::endl;
    		}
    	}
    	system("pause");
    }
    
    int mean (int x, int y){
    
    	if(x > y){
    		std::swap(x, y);
    	}
    
    	int i = 0;
    	for(; x + i <= y - i; i++){
    		if(x + i == y - i){
    			return x + i;
    		}
    	}
    
    	// для нечетных сумм
    	return x + i - 1;
    }
    или так. забавная задачка =)
     
    #12 Ra$cal, 19 Apr 2010
    Last edited: 19 Apr 2010