![]() |
END Дано действительное число y
Получить это. вот что *я написал: Код:
FUNCTION t(y) |
1.7(0.25)+2t(1+y)/(6-t(y-1)) то что нужно получить 8)
|
Что-то типа этого должно сработать...
function fact(n as integer) f = 1 for i=1 to n f = f * i next i fact = f end function function t(x as single) s1=0 s2=0 for k = 0 to 10 s1 = s1 + (x**(2*k+1)/fact(2*k+1)) s2 = s2 + (x**2*k)/fact(2*k) next k t=s1/s2 end function INPUT “y=”;y z=(1.7*t(.25)+2*t(1+y))/ 6-t(y^z-1) PRINT “z=”;z |
Решите, пожалуйста, задачу: даны 2 массива, заменить min элемент 1-ого массива на max элемент 2-ого массива, и наоборот
1-ый: 54193 541093 2-ой 432107 43217 |
Ответ:
1-ый: 432107 541093 2-ой 432107 541093 |
hasherfrog, 5 баллов!
|
Цитата:
1-ый: 432107 541093 2-ой: 54193 43217 Что-то типо этого нуно написать void main(){ int a[N],b[N],maxi,mini; maxi=min(a); mini=max(b); b[mini]=b[mini]+a[maxi]; a[maxi]=b[mini]-a[maxi]; b[mini]=b[mini]-a[maxi]; } int min(int *x){ int i,min,index; for(i=0,min=*x,index=0;i<N;i++){ if (*(x+i)<min){ min=*(x+i);index=i;} } return index; } int max(int *x){ int i, max, index; for(i=0,max=*x,index=0;i<N;i++){ if (*(x+i)>max){ max=*(x+i);index=i;} } return index; } |
:-) Всю ночь думал, сколько интерпретаций есть у условия (и сколько возможно соответственно решений)
mrcnn 1. обычно своп делают xor'ом, если уж на то пошло :] 2. а что если N=0? :] -> упадём. 3. Кстати :] читал тут старенькую книжку про написание читаемого кода на фортране. Там написано (одно из первых правил): пишите, что думаете, не изгаляйтесь :] Это к вопросу о swap'е, меня ваш вариант выбил на пару минут в астрал :] |
hasherfrog
Цитата:
Цитата:
Цитата:
|
>> как это реализовывается?
a ^= b; b ^= a; a ^= b; |
mrcnn
Ваш вариант свопа не ловит момент, когда b[mini]+a[maxi] будет превышать 32767. |
Время: 19:27. |
Время: 19:27.
© OSzone.net 2001-