Відповідь:
Дивись фото
Пояснення:
<!DOCTYPE html>
<html>
<head>
<title>Price</title>
<meta charset="utf-8">
</head>
<body>
<p>стоимости переговоров</p>
</body>
<script>
{/*Написать логическое выражение для определения стоимости переговоров, если стоимость переговоров с 22 часов до 8 часов на 20% ниже, а в субботу и в воскресенье дополнительно предоставляется скидка 10%. */}
t = +prompt('время разговоров от 0 до 24 часов')
dt = +prompt('продолжительность разговора в минутах')
s = +prompt('стоимость минуты разговора')
d = +prompt('день недели от 1 до 7')
console.log('t=',t,'dt=', dt, 's=', s, 'd=', d)
function Price (t, dt, d, s) {
let startTalk = t*60
let price = 0
console.log('day = ', d)
for (let i =1; i<=dt; i++){
let night = false
let holiday = false
let p = s
if( (startTalk+i)%1440 === 0 ){
if (d<7){
d=d+1
console.log('day = ', d)
} else {
d=1
console.log('day = ', d)
}
}
if ( (startTalk+i)%1440>=1320 || (startTalk+i)%1440<480){
night = true
}
if ( d === 6 || d===7){
holiday = true
}
if (night){
p = p - s*0.2
}
if (holiday){
p = p-s*0.1
}
price = price+p
console.log('стоимости '+ i+'мин. = '+ p.toFixed(2)+'$')
}
console.log('fin.price', price.toFixed(2), '$')
return price.toFixed(2)
}
{/*Price(t, dt, d, s)*/}
alert('стоимости переговоров ' + '$' + Price(t, dt, d, s))
</script>
</html>
Поделитесь своими знаниями, ответьте на вопрос:
Pascal. , , исправить ошибку. оптимизировать код и т.п. не мне только надо заставить этот код работать правильно, все остальное я уже сделаю сама. сама программа должна по заданному числу n находить такие числа a и b, которые в сумме будут давать n и их нод будет максимален. (т.е. их нод будет больше нода в любой другой такой паре function nod (var a, b: integer): integer; var c: integer; begin repeat if a > b then a: = a mod b else b: = b mod a; until (a = 0) or (b = 0); nod: = a + b; end; var a, a1, a2, max, a3, a4: int64; begin readln(a); a1: = a div 2; a2: = (a div 2)+1; max: =1; if a mod 2 = 0 then writeln (a div 2, ' ', a div 2) else while a1> 0 do begin if nod(a1, a2) > max then max: = nod(a1, a2); a1: =a1-1; a2: =a2+1; end; a1: = a div 2; a2: = (a div 2)+1; while a1> 0 do begin if nod(a1, a2) = max then a1: =a3, a2: =a4; a1: =a1-1; a2: =a2+1; end; writeln(a3, ' ', a4); end.
Begin
Repeat
if a > b then
a:= a mod b
else
b:= b mod a;
until (a = 0) or (b = 0);
nod:= a + b;
End;
Var n,max,i:int64;
Begin
write('n = ');
Readln(n);
max:=0;
if n mod 2 = 0
then max:=n div 2
else for i:=1 to n div 2 do
if nod(i,n-i)>max then max:=i;
writeln(max,' ',n-max,' ' ,nod(max,n-max));
End.
Пример:
n = 11111
271 10840 271