Var st,sk:integer;
begin
readln(st);
if st>1000
then sk:=trunc(st*0.95)
else if st>500 then sk:=trunc(st*0.97)
else sk:=st;
writeln(sk);
end.
Пример:
3000
2850
Обычно решают на Pascal, но я напишу на C++, он мне роднее)). Я конечно немножко по-другому реализовал (в плане ввода значений), но поставленную задачу выполняет.
1)
#include <stdio.h>
#inlcude <conio.h>
#include <iostream>
using namespace std;
int main()
{
long a, b, i, sum=0;
cin>>a; // Вводишь число a
cin>>b; // Вводишь число b
for (i=a;i<=b;i++)
{
sum=sum+(i*i);
}
cout<<sum; // выводим сумму квадратов чисел
_getch();
}
2)
#include <stdio.h>
#inlcude <conio.h>
#include <iostream>
using namespace std;
int main()
{
long a,b,c,d,i;
bool z=false;
cin>>a;
cin>>b;
cin>>c;
cin>>d;
for (i=10000; i<=99999; i++)
{
if (i % a==b && i % c==d) {z=true; cout<<i<<" ";}
}
if (z==false) {cout<<"-1";} // Выводится если нет чисел
_getch();
}
137 (8сс)=1 011 111 (2сс) ( 3 (8cc) =011 (2cc) !!! по триадам!!! )
1 3 7
5D (16сс) = 101 1101 (2сс)
5 D
101 1101 < 101 1111
5D (16cc) < 137 (8cc)
<span>2626 +
2618 +
2624 +
2628 - возрастание
2826 - максимальное число от сложения трех цифр не м.б. > 27
2426 - возрастание
1826 - возрастание
106 +</span>