Сайт підготовки до олімпіади з інформатики

програмування в С++

Розбір задач 1-4 (заняття 1 ---03.10.20112) PDF Печать E-mail
Добавил(а) Гісь Ігор Володимирович   
12.10.12 19:13

Програми розв'язку task1, task2_1, task2_2, task3_1, task3_2, task3_3, task4

Тести для перевірки test1, test2, test3, test4

Повторення базові структури алгоритмів

Задача 1.

Обчислити суму, різницю та добуток двох введених чисел.

 

Задача 2.

Перевірити правильність виразу

a o b = c

за заданими трьома числами a, b, c та операцією o(+ - *).

Задача 3.

Для заданого N знайти всі значення виразу

a o b о c, де

a, b, c натуральні числа <=N операцією o(+ - *).

#include "stdafx.h"

#include "iostream"

using namespace std;

 

 

int _tmain()

{

int a,b,s,r,d;

cin>>a>>b;

s=a+b;

r=a-b;

d=a*b;

cout<<s<<"\n";

cout<<r<<endl;

cout<<d<<endl;

return 0;

}

 

#include "stdafx.h"

#include "iostream"

using namespace std;

 

 

int _tmain()

{

int a,b,c;

char o;

cin>>a>>b>>c;

cout<<"+ - * ";

cin>>o;

if ((o=='+' && a+b==c)||(o=='-' && a-b==c)||(o=='*' && a*b==c))

cout<<a<<o<<b<<"="<<c<<"\n";

else

cout<<a<<o<<b<<"<>"<<c<<"\n";

return 0;

}

 

#include "stdafx.h"

#include "iostream"

using namespace std;

int _tmain()

{

int n,a,b,c,r;

cin>>n;

for (a=1;a<=n;a++)

for (b=1;b<=n;b++)

for (c=1;c<=n;c++)

{

r=a+b+c; cout<<a<<"+"<<b<<"+"<<c<<"="<<r<<endl;

r=a+b-c; cout<<a<<"+"<<b<<"-"<<c<<"="<<r<<endl;

r=a+b*c; cout<<a<<"+"<<b<<"*"<<c<<"="<<r<<endl;

r=a-b+c; cout<<a<<"-"<<b<<"+"<<c<<"="<<r<<endl;

r=a-b-c; cout<<a<<"-"<<b<<"-"<<c<<"="<<r<<endl;

r=a-b*c; cout<<a<<"-"<<b<<"*"<<c<<"="<<r<<endl;

r=a*b+c; cout<<a<<"*"<<b<<"+"<<c<<"="<<r<<endl;

r=a*b-c; cout<<a<<"*"<<b<<"-"<<c<<"="<<r<<endl;

r=a*b*c; cout<<a<<"*"<<b<<"*"<<c<<"="<<r<<endl;

}

return 0;

}

Задача 4

Для задачі 3 знайти значення результату, яке повторюється найбільше

Обчислити факторіал

#include "stdafx.h"

#include "iostream"

using namespace std;

int _tmain()

{

int n,a,b,c,r[1000];

cin>>n;

int k=0;

//заповнення масиву результатів

for (a=1;a<=n;a++)

for (b=1;b<=n;b++)

for (c=1;c<=n;c++)

{ k++;r[k]=a+b+c;  k++;r[k]=a+b-c;  k++;r[k]=a+b*c;  k++;r[k]=a-b+c;  k++;r[k]=a-b-c;  k++;r[k]=a-b*c;  k++;r[k]=a*b+c;  k++;r[k]=a*b-c;

k++;r[k]=a*b*c; }

//Сортування масиву

int i,j,temp;

for (i=1;i<=k;i++)

for (j=1;j<=k;j++)

if (r[i]<r[j]) {temp=r[i];r[i]=r[j];r[j]=temp;}

 

//Вивведення масиву

//for (i=1;i<=k;i++)cout<<r[i]<<" ";cout<<"\n";

 

//пошук кількості сусідніх однакових елементів

int k1,k2,el;

k1=1;k2=0;

for (i=1;i<k;i++)

if (r[i]==r[i+1]) {k1++;}

else {if (k1>k2){k2=k1;el=r[i];}

k1=1;}

cout<<el<<"  "<<k2<<endl;

return 0;

}

 

#include "stdafx.h"

#include "iostream"

using namespace std;

 

 

int _tmain()

{

int i,n;

int f[1000];

cin>>n;

f[0]=1;

for (i=1;i<=n;i++)

{f[i]=f[i-1]*i;

cout<<i<<"!="<<f[i]<<endl;

}

return 0;

}

 

Статистика

Пользователей : 261
Статей : 225
Просмотрено статей : 115418

Вход/Регистрация

Нет