Thursday, December 4, 2014

Bài 32

Bài 32: Cho số nguyên dương n. Kiểm tra số nguyên dương n có phải là số chính phương hay không?

- Số chính phương là số bằng bình phương của một số nguyên
- Ví dụ 1: 0 = 0^2 =>chính phương
- Ví dụ 2: 1 = 1^2 =>chính phương
- Ví dụ 3: 4 = 2^2 =>chính phương
- Ví dụ 4: 256 = 16^2 =>chính phương
- Ví dụ 5: -80 =>Không chính phương

//========================================
//Cách 1

#include <stdio.h>
#include <conio.h>

void main()
{
    int n;
    scanf("%d", &n);
    int flag = 0;
    int i = 0;
    while (i <= n)
    {
        if (i*i == n)
        {
            flag = 1;
        }
        i = i + 1;
    }
    if (flag == 1)
    {
        printf("La so chinh phuong");
    }else
    {
        printf("Khong la so chinh phuong");
    }
}

//========================================
//Cách 2
/*
#include <stdio.h>
#include <conio.h>

int ktcp(int);
void main()
{
    int n;
    scanf("%d", &n);
    int kq = ktcp(n);
    if (kq == 1)
    {
        printf("La so chinh phuong");
    }else
    {
        printf("Khong la so chinh phuong");
    }
}

int ktcp(int k)
{
    int flag = 0;
    for (int i=0; i<=k; i++)
    {
        if (i*i == k)
        {
            flag = 1;
        }
    }
    return flag;
}
*/

No comments:

Post a Comment