[C++] Xác định số thuộc dãy số nào đó

$\boxed{\text{BÀI TOÁN}}$:

Cho dãy số sau:
                                       
                                       $1$ $3$ $6$ $10$ $15$
                                       $2$ $5$ $9$ $14$
                                       $4$ $8$ $13$
                                       $7$ $12$
                                       $11$
........................

Nhập từ bàn phím 2 số $x,y$. In  ra màn hình số N thuộc hàng x,cột y.



$\boxed{\text{LỜI GIẢI}}$:


CÁCH 1: (Dùng lệnh lặp xác định for)

#include <iostream>
#include <math.h>
using namespace std;
int main()
{
    cout<<"Cach 1: Dung lenh lap xac dinh for "<<endl;
    cout<<"-------------------------------------------"<<endl;
    int x,y;
    cout<<"Nhap hang: "; cin>>x;
    cout<<"Nhap cot: "; cin>>y;
    int dau=1,i,j,dem;
    for (i=1;i<=(x-1);i++)
        dau=dau+i;
    dem=x+1;
    for (j=2;j<=y;j++)
    {
        dau=dau+dem;
        dem=dem+1;
    }
    cout<<"So hang "<<x<<" cot "<<y<<" la so "<<dau;
    return 0;

}


CÁCH 2: (Dùng công thức tính)

#include <iostream>
#include <math.h>
using namespace std;
int main()
{
    cout<<"Cach 2: Dung cong thuc: "<<endl;
    cout<<"-------------------------------------------"<<endl;
    int x,y,dau=0;
    cout<<"Nhap hang: "; cin>>x;
    cout<<"Nhap cot: "; cin>>y;
    dau=((x+y)*(x+y)-3*x-y+2)/2;
    //Có công thức trên do:
    //dau=1+(x-1)*x/2+(2*x+y)*(y-1)/2;
    cout<<"So hang "<<x<<" cot "<<y<<" la so "<<dau;
    return 0;
}


Comments

Popular Posts