(გ)ამოცანა
ავტორი scientist1642
f(f(X)) = -X
წერილები: 49
17 მაისი 2012, 0:11
ერთ-ერთ ბლოგზე ვნახე საინტერესო კითხვა.
დაწერეთ f ფუნქცია C ზე ისე რომ ყველა int ტიპის X ისთვის სრულდება.

f(f(X)) = -X

გლობალური და სტატიკური ცვლადების გამოყენება არ შეიძლება.
წერილები: 54
varlevani says:
17 მაისი 2012, 7:03
იოლია


double fun(double x)
{
double dif = fabs(x - (int) x);
if(dif < 0.4 || dif > 0.6) return x - 0.5;
return -x + 0.5;
}
წერილები: 49
17 მაისი 2012, 10:15
მასე იოლია კი.
double fun(double x)
{
   if (fabs(x) < 1e10)
      return x * 1e10;
    return -x / 1e10;
} 

UPD: პარამეტრიც და დასაბრუნებელი მნიშვნელობაც int ია.
წერილები: 54
varlevani says:
17 მაისი 2012, 10:24
შენ რაც დაწერე მგონი არაა სწორი.

მაშინ ასე:


int fun(int a)
{
if(!a) return 0;
if(a < 0) return -fun(-a);
if(a&1) return a+1;
return -a + 1;
}


მგონი ამან უნდა იმუშაოს
წერილები: 49
17 მაისი 2012, 10:46
x = MAX_INT იმუშავებს?
მე რაც დავწერე რატო არაა სწორი?
წერილები: 54
varlevani says:
17 მაისი 2012, 18:50
უი ხო, სწორი ყოფილა. 1e10 MAX_INT-ზე ნაკლები მეგონა.

MAX_INT-ზე არ მუშაობს, ვნახავ ერთი როგორ შეიძლება გამოვასწორო.
წერილები: 57
Dixtosa says:
19 მაისი 2012, 1:47

int f(int x)
{
	if (x==0) return 0;
	int y=(x%2==0?x:-x);
	if (y==x)
	{
		if (y>0) y--;
		if (y<0) y++;
	}
	else
	{
		if (y>0) y++;
		if (y<0) y--;
	}
	return y;
}

ლაო ძი ამბობდა დიდი კოდი კაი კოდი :დ



ნუ მარა ლაო ძი ადრე იყო:
[code lang=c]int f(int x)
{
if (x==0) return 0;
int y=(x%2==0?x:-x);
y+=(2*(y==x)-1)*(2*(y<0)-1);
return y;
}[/code]
გთხოვთ გაიარეთ ავტორიზაცია კომენტარის გამოსაქვეყნებლად.
სიახლეები Facebook-ზე
მომავალი ღონისძიებები
მომავალი ღონისძიებების სია ცარიელია.
ღონისძიებების კალენდარი
მხარდამჭერები






ახალი კომენტარები
Dixtosa Episode II - Analysis...
Eშისაიდან მოვიდა 3**13?ისე 4 * 52 * 3**13 = 331M+ ...
Quick GeOlymp 2013 - ფინალური ეპიზოდი იწყება...
Upsolving ჩაირთო...
saba_tavdgiridze GeOlymp 2013 - ფინალური ეპიზოდი იწყება...
აღარ მინდა.:)...
saba_tavdgiridze GeOlymp 2013 - ფინალური ეპიზოდი იწყება...
B ამოცანის 17 ტესტს ვერ მიმანიშნებთ?...
tornike5 GeOlymp 2013 - ფინალის შესახებ...
ვაპირებდი იგივე მეკითხა მარა მეგონა უეჭველი იქნება...
giorgi123 GeOlymp 2013 - ფინალის შესახებ...
მადლობა.შარშან ფინალში ამოცანების ყურებით ვიფარგლე...
Elle GeOlymp 2013 - ფინალის შესახებ...
შარშან ფინალს codeblocks-ით წერდით?დავაყენეთ codeb...