Thứ Ba, 8 tháng 12, 2015

Bài 48: Hãy tính tích các chữ số lẻ của số nguyên dương n

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <conio.h>

// Hàm chính.
void main()
{
 int n;
 do{
  printf("\n Nhap n = ");
  scanf("%i", &n);
 }while(n <= 0 && printf("\n Error: n >= 1..."));
 int T = 1;
 while(n)
 {
  if(n % 2 != 0)
  {
   T = T * (n % 10);
  }
  n = n / 10;
 }
 printf("\n T = %i", T);
 getch();
}

Bài 47: Hãy tính tổng các chữ số chẵn của số nguyên dương n

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <conio.h>

// Hàm chính.
void main()
{
 int n;
 do{
  printf("\n Nhap n = ");
  scanf("%i", &n);
 }while(n < 0 && printf("\n Error: n >= 0"));
 int S = 0;
 while(n)
 {
  if(n % 2 == 0)
  {
   S = S + (n % 10);
  }
  n = n / 10;
 }
 printf("\n S = %i", S);
 getch();
}

Bài 46: Hãy đếm số lượng chữ số lẻ của số nguyên dương n

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <conio.h>

// Hàm chính.
void main()
{
 int n;
 do{
  printf("\n Nhap n = ");
  scanf("%i", &n);
 }while(n < 0 && printf("\n Error: n >= 0..."));
 int dem = 0;
 while(n)
 {
  if(n % 2 == 1)
  {
   dem++;
  }
  n = n / 10;
 }
 printf("\n S = %i", dem);
 getch();
}

Bài 44: Hãy tính tổng các chữ số của số nguyên dương n

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <stdio.h>
#include <conio.h>

// Hàm chính.
void main()
{
 int n;
 do{
  printf("\n Nhap n = ");
  scanf("%i", &n);
  if(n < 0)
  {
   printf("\n Vui long nhap n >= 0...");
  }
 }while(n < 0);
 int S = 0, m;
 while(n)
 {
  S = S + n % 10;
  n = n / 10;
 }
 printf("\n Tong = %i", S);
 getch();
}

Bài 43: Hãy đếm số lượng chữ số của số nguyên dương n


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
#include <conio.h>

// Hàm chính.
void main()
{
 long n;
 do{
  printf("\n Nhap n = ");
  scanf("%ld", &n);
  if(n < 0)
  {
   printf("\n Vui long nhap n >= 1...");
  }
 }while(n < 0);
 long dem = 1;
 while(n)
 {
  if(n / 10 != 0)
  {
   dem++;
  }
  n = n / 10;
 }
 printf("\n So luong chu so = %ld", dem);
 getch();
}

Bài 42: Cho n là số nguyên dương. Hãy tìm giá trị nguyên dương k lớn nhất sao cho S(k) < n. Trong đó chuỗi k được định nghĩa như sau: S(k) = 1 + 2 + 3 + … + k


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <stdio.h>
#include <conio.h>

// Hàm chính.
void main()
{
 int S = 1, i = 2, n;
 do{
  printf("\n Nhap n = ");
  scanf("%d", &n);
  if(n < 0)
  {
   printf("\n Xin vui long nhap n >= 0...");
  }
 }while(n < 0);
 while(S + i < n)
 {
  i++;
  S = S + i;
 }
 printf("\n Ket qua: %d", i);
 getch();
}

Bài 41: Tính S(n) = 1 / (1 + 1 / ( 1 + 1 / (…. 1 + 1 / 1 + 1))) có n dấu phân số


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
#include <stdio.h>
#include <conio.h>

// Hàm chính.
void main()
{
 float S = 1 + 1.0 / (1 + 1), i = 2, n;
 do{
  printf("\n Nhap n = ");
  scanf("%f", &n);
 }while(n < 1);
 while(i <= n)
 {
  S = 1 + 1.0 / S;
  i++;
 }
 printf("\n S = %f", S);
 getch();
}

Bài 40: Tính S(n) = CanBac2(x^n + CanBac2(x^n-1 + … + CanBac2(x^2 + CanBac2(x)))) có n dấu căn

Bài 40: Tính S(n) = CanBac2(x^n + CanBac2(x^n-1 + … + CanBac2(x^2 + CanBac2(x)))) có n dấu căn


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include <conio.h>
#include <math.h>

// Hàm chính.
void main()
{
 float S = 0, x, n, i = 1;
 do{
  printf("\n Nhap n = ");
  scanf("%f", &n);
  printf("\n Nhap x = ");
  scanf("%f", &x);
 }while(x < 0 || n < 1);
 while(i <= n)
 {
  S = sqrt(pow(x, i) + S);
  i++;
 }
 printf("\n S = %f", S);
 getch();
}

Thứ Sáu, 4 tháng 12, 2015

Đề thi Học Kỳ CNTT Bến Tre năm 1 câu 2 ...

Cau02
Image

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
#include <conio.h>
#include <math.h>

void main()
{
    float n, a;
    do
    {
        printf("\nEnter a: ");
        scanf("%f", &a);
        printf("\nEnter n: ");
        scanf("%f", &n);
        if(n < 1 || a < 1)
        {
            printf("Try enter n >= 1 or a >= 1");
        }
    }while(n < 1 || a < 1);
    float gt = 1, S = 0, i = 1, j = n;
    while(i <= n)
    {
        gt = gt * i;
        S = sqrt(gt / pow(a, j) + S);
        i++;
        j--;
    }
    printf("\nS = %f", S);
    getch();
}

Thứ Năm, 3 tháng 12, 2015

Bài 38: Tính S(n) = CanBac N + 1(N + CanBac N(N – 1 +…+CanBac3(2 + CanBac2(1)))) có n dấu căn


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#include <conio.h>
#include <math.h>

void main()
{
    float n;
    do
    {
        printf("\nEnter n = ");
        scanf("%f", &n);
        if(n < 1)
        {
            printf("Try enter with n is (n >= 1) !");
        }
    }while(n < 1);
    float i = 1, S = 0;
    while(i <= n)
    {
        S = pow(i + S, 1.0 / (i + 1));
        i++;
    }
    printf("\nS = %f", S);
    getch();
}

Bài 39: Tính S(n) = CanBac N + 1(N! + CanBacN((N – 1)! + … + CanBac3(2! + CanBac2(1!))) có n dấu căn


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <stdio.h>
#include <conio.h>
#include <math.h>

void main()
{
    float n;
    do
    {
        printf("\nEnter n = ");
        scanf("%f", &n);
        if(n < 1)
        {
            printf("Try enter n >= 1 ^_^ !");
        }
    }while(n < 1);
    float S = 0, i = 2, j = 1, gt = 1;
    while(i <= n)
    {
        gt = gt * j;
        S = pow(gt + S, 1.0 / i);
        i++;
        j++;
    }
    printf("\nS = %f", S);
    getch();
}

Bài 37: Tính S(n) = CanBac N(N + CanBac N - 1(N – 1 + … + CanBac3(3 + CanBac2(2))) có n – 1 dấu căn


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <stdio.h>
#include <conio.h>
#include <math.h>

void main()
{
    float n;
    do
    {
        printf("\nEnter n = ");
        scanf("%f", &n);
        if(n < 2)
        {
            printf("No, try ... n >= 2!");
        }
    }while(n < 2);
    float S = 0, i = 2;
    while(i <= n)
    {
        S = pow(i + S, 1.0 / i);
        i++;
    }
    printf("\nS = %f", S);
    getch();
}

Thứ Tư, 2 tháng 12, 2015

Bài 36: Tính S(n) = CanBac2(n! + CanBac2((n-1)! +CanBac2((n – 2)! + … + CanBac2(2!) + CanBac2(1!)))) có n dấu căn

#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
 int i, n;
 float S, M;
 do
 {
  printf("\nNhap n(n >= 1): ");
  scanf("%d", &n);

  if(n < 1)
  {
   printf("\nn phai >= 1. Xin nhap lai !");
  }
 }while(n < 1);
 i = 1;
    M = 1;
 S = sqrt((float)0);

 while(i <= n)
 {
  M = M * i;
  S = sqrt(M + S);
  i++;
 }
 printf("\nTong la %f", S);

 getch();
 return 0;
}

Bài 35: S=sqrt(1+sqrt(2+sqrt(3+...+sqrt(n))))


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#include <stdio.h>
#include <conio.h>
#include <math.h>

void main()
{
    float n;
    printf("\nEnter n = ");
    scanf("%f", &n);
    float S = 0;
    while(n--)
    {
        S = sqrt((n + 1) + S);
    }
    printf("\nS = %f", S);
    getch();
}

Bài 34: Tính S(n) = CanBac2(n+CanBac2(n – 1 + CanBac2( n – 2 + … + CanBac2(2 + CanBac2(1) có n dấu căn

#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
 int i, n;
 float S;
 do
 {
  printf("\nNhap n(n >= 1): ");
  scanf("%d", &n);

  if(n < 1)
  {
   printf("\nn phai >= 1. Xin nhap lai !");
  }
 }while(n < 1);

 i = 1;
 S = 0;

 while(i <= n)
 {
  S = sqrt(i + S);
  i++;
 }
 printf("\nTong S = %f", S);

 getch();
 return 0;
}

Bài 33: Tính S(n) = CanBac2(2+CanBac2(2+….+CanBac2(2 + CanBac2(2)))) có n dấu căn

Bài 33: Tính S(n) = CanBac2(2+CanBac2(2+….+CanBac2(2 + CanBac2(2)))) có n dấu căn


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
 int i, n;
 float S;
 do
 {
  printf("\nNhap n(n >= 1): ");
  scanf("%d", &n);

  if(n < 1)
  {
   printf("\nn phai >= 1. Xin nhap lai !");
  }
 }while(n < 1);

 S = sqrt((float)2);
 for(i = 2; i <= n; i++)
 {
  S = sqrt(2 + S);
 }
 printf("\nTong S = %f", S);

 getch();
 return 0;
}

Thứ Ba, 1 tháng 12, 2015

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

(Wiki) Số chính phương hay còn gọi là số hình vuông là số tự nhiên có căn bậc 2 là một số tự nhiên, hay nói cách khác, số chính phương là bình phương (lũy thừa bậc 2) của một số tự nhiên khác.
     Ví dụ:
4 = 2²  
9 = 3²
1.000.000 = 1.000²



Vậy trong C thì sao:

ex: n = 4: 4 = sqrt(4) * sqrt(4)
hay
sqrt((float)4) <== là số thực = (int)sqrt((float)n)
        2.00000                         =                          2 
hay 
gán i = sqrt(n): i * i = n hoặc pow(sqrt(n), 2) = n
Sau đây là 1 số đoạn code cho những ý tưởng trên:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
 int i, n;
 do
 {
 printf("\nNhap n: ");
 scanf("%d", &n);

    if(n <= 0)
     printf("\nn phai > 0. Xin nhap lai !");

 }while(n <= 0);
 /*Số chính phương là số mà kết quả khai căn bậc 2 là 1 số nguyên
 sqrt(4) = 2.00000 => ép về nguyên = 2 => vì 2.000  == 2 (true) => là số chính phương
 sqrt(5) = 2.23234 => ép về nguyên = 2 => vì 2.4324 != 2 (false) => không là số chính phương*/
 if (n == sqrt((float)n) * sqrt((float)n))  // So sánh 2 số khi chưa ép về kiểu nguyên và số đã ép về kiểu nguyên
 {
  printf("\n%d La so chinh phuong", n);
 }
 else
 {
  printf("\n%d Khong la so chinh phuong", n);
 }

 getch();
 return 0;
}

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//1. n là số nhập vào
//2. i = căn bậc hai của n
//3. nếu i * i = n => chính phương
//VD: 9 = 3^2 

#include <stdio.h>
#include <conio.h>
#include <math.h>
  
int main()
{
 double  n;
    double i;
    printf ("Nhap so nguyen duong n: ");
    scanf("%d", &n);
    i = sqrt(n);
    if (n == i*i)
        printf ("La so chinh phuong!");
    else
        printf ("Khong la so chinh phuong!");
    getch();
    return 0;
}

Bài 31: Cho số nguyên dương n. Kiểm tra xem n có phải là số nguyên tố hay không (Nhiều Cách)

Bài 31: Cho số nguyên dương n. Kiểm tra xem n có phải là số nguyên tố hay không (Nhiều Cách)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <stdio.h>
#include <conio.h>

int main()
{
 int i, n;
 printf("\nNhap n: ");
 scanf("%d", &n);

 if(n < 2)
  printf("\nSo %d khong phai la so nguyen to", n);
 else if(n == 2)
  printf("\nSo %d la so nguyen to", n);
 else if(n % 2 == 0)
  printf("\nSo %d khong phai la so nguyen to", n);
 else
 {
  for(i = 3; i <= n; i+=2)
  {
   if(n % i == 0)
    break;
  }
  if(i == n)
   printf("\nSo %d la so nguyen to", n);
  else
   printf("\nSo %d khong phai la so nguyen to", n);
 }
  


 getch();
 return 0;
}

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
#include <stdio.h>
#include <conio.h>

int kTraSoNguyenTo(int n)
{
   if (n < 2) return 0;
   for(int i = 2; i * i <= n; i++) //i * i <= n <=> i sqrt(n)(math.h)
      if(n % i == 0) return 0;     //i <= n
   return 1;      //i <= n / 2
}

void main()
{
 int n, i = 2;
   printf("Nhap n: "); 
          scanf("%i", &n);
 if(kTraSoNguyenTo(n))
          printf("%d la snt.\n",n);
        else
          printf("%d khong la snt.\n",n);
 getch();
}

Bài 30: Cho số nguyên dương n. Kiểm tra xem n có phải là số hoàn thiện hay không


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include <stdio.h>
#include <conio.h>

void main()
{
 int n, i = 1, S = 0;
 printf("Nhap n: ");
 scanf("%d",&n);
 while (i < n)
 {
  if(n % i == 0)
  {
   S = S + i;
  }
  i++;
 }
 if(S == n)
 {
  printf("La so hoan thien!");
 }else
 {
  printf("Khong la so hoan thien!");
 }
 getch();
}
/*
Ý tưởng: tìm các ước số của n nhỏ hơn chính n, rồi đem cộng các ước số vừa tìm
lại mà bằng n là "Số hoàn thiện" ngược lại!
*/

Bài 29: Tìm ước số lẻ lớn nhất của số nguyên dương n. Ví dụ n = 100 ước lẻ lớn nhất là 25


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
//Bài 29: Tìm ước số lẻ lớn nhất của số nguyên dương n. Ví dụ n = 100 ước lẻ lớn nhất là 25
#include <stdio.h> 
#include <conio.h> 

void main() 
{  
 int i = 1, n = 6, max;
 while(i < n)
 {
  if(n % i == 0)
  {
   if(i % 2 == 1)
   {
    max = i;
   }
  }
  i++;
 }
 printf("Max = %i", max);
 getch(); 
}
/* Code chạy:
1 < 6 chạy 6 % 1 == 0 chạy 1 % 2 == 1 chạy max = 1
2 < 6 chạy 6 % 2 == 0 chạy 2 % 2 == 1 thoát if
3 < 6 chạy 6 % 3 == 0 chạy 3 % 2 == 1 chạy max = 3
4 < 6 chạy 6 % 4 == 0 thoát if
5 < 6 chạy 6 % 5 == 0 thoát if
6 < 6 dừng thoát while in max = 3
*/