BÀI TẬP C/C++ CÓ LỜI GIẢI - PHẦN 1




Bài 1: Tính S(n) = 1 + 2 + 3 + … + n

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

int main()
{
 int i, n;
 long S;
 S = 0;
 i = 1;
 printf("\nNhap n: ");
 scanf("%d", &n);

 while(i <= n)
 {
  S = S + i;
  i++;
 }
 printf("\nTong 1 + 2 + ... + %d la %ld: ", n, S);
 getch();
 return 0;
}

Bài 2: Tính S(n) = 1^2 + 2^2 + … + n^2

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

int main()
{
 int i, n;
 long S;
 S = 0;
 i = 1;
 printf("\nNhap n: ");
 scanf("%d", &n);

 while(i <= n)
 {
  S = S + i * i;
  i++;
 }
 printf("i = %d", i);
 printf("\nTong 1^2 + 2^2 + ... + %d^2 la: %ld", n, S);
 getch();
 return 0;
}

Bài 3: Tính S(n) = 1 + ½ + 1/3 + … + 1/n

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

int main()
{
 int i, n;
 float S;
 S = 0; i = 1;
 do
 {
  printf("\nNhap n: ");
  scanf("%d", &n);
  if(n < 1)
  {
   printf("\nN phai lon hon hoac bang 1. Xin nhap lai !");
  }

 }while(n < 1);

 while(i <= n)
 {
  S = S + 1.0 / i;  // phải nhớ là 1.0 / i
  i++;
 }
 printf("i = %d", i);
 printf("\nS = %f", S);
 printf("\nTong 1 + 1/2 + ... + 1/%d la %.2f: ",n, S);

 getch();
 return 0;
}

Bài 4: Tính S(n) = ½ + ¼ + … + 1/2n

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

int main()
{
 int i, n;
 float S;
 S = 0;
 do
 {
  printf("\nNhap n: ");
  scanf("%d", &n);
  if(n < 1)
  {
   printf("\nN phai lon hon hoac bang 1. Xin nhap lai !");
  }
 }while(n < 1);

 for(i = 1; i <= n; i++)
 {
  S = S + 1.0 / (2 * i);
 }
 printf("\nTong la: %f", S);

 getch();
 return 0;
}

Bài 5: Tính S(n) = 1 + 1/3 + 1/5 + … + 1/(2n + 1)

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

int main()
{
 int i, n;
 float S;
 S = 0;
 do
 {
  printf("\nNhap n: ");
  scanf("%d", &n);
  if(n < 1)
  {
   printf("\nN phai lon hon hoac bang 1. Xin nhap lai !");
  }
 }while(n < 1);

 for(i = 0; i < n; i++)
 {
  S = S + 1.0 / ((2 * i) + 1);
 }
 printf("\nTong la: %f", S);

 getch();
 return 0;
}

Bài 6: Tính S(n) = 1/1×2 + 1/2×3 +…+ 1/n x (n + 1)

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

int main()
{
 int i, n;
 float S;
 S = 0;
 i = 1;
 do
 {
  printf("\nNhap n: ");
  scanf("%d", &n);
  if(n < 1)
  {
   printf("\nN phai lon hon hoac bang 1. Xin nhap lai !");
  }
 }while(n < 1);

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

 getch();
 return 0;
}

Bài 7: Tính S(n) = ½ + 2/3 + ¾ + …. + n / n + 1

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

int main()
{
 int i, n;
 float S;
 S = 0;
 i = 1;
 do
 {
  printf("\nNhap n: ");
  scanf("%d", &n);
  if(n < 1)
  {
   printf("\nN phai lon hon hoac bang 1. Xin nhap lai !");
  }
 }while(n < 1);

 while(i <= n)
 {
  S = S + (float)i / (i + 1);
  i++;
 }
 printf("\nTong la %f", S);

 getch();
 return 0;
}

Bài 8: Tính S(n) = ½ + ¾ + 5/6 + … + 2n + 1/ 2n + 2

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

int main()
{
 int i, n;
 float S;
 S = 0;
 i = 0;
 do
 {
  printf("\nNhap n: ");
  scanf("%d", &n);
  if(n < 1)
  {
   printf("\nN phai lon hon hoac bang 1. Xin nhap lai !");
  }
 }while(n < 1);

 while(i < n)
 {
  S = S + (float)(2 * i + 1) / (2 * i + 2);
  i++;
 }
 printf("\nTong la %f", S);

 getch();
 return 0;
}

Bài 9: Tính T(n) = 1 x 2 x 3…x N

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

int main()
{
 int i, n;
 long P;
 i = 1;
 P = 1;
 do
 {
  printf("\nNhap n: ");
  scanf("%d", &n);
  if(n < 1)
  {
   printf("\nN phai lon hon hoac bang 1. Xin nhap lai !");
  }
 }while(n < 1);

 while(i < n)
 {
  P = P * i;
  i++;
 }
 printf("\nTich 1x2x....x%d la: %ld", i, P);

 getch();
 return 0;
}

Bài 10: Tính T(x, n) = x^n

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

double Power_n(double x, long n)
{
 // n >= 0
 double result = 1;
 while(n--)
 {
  result = result * x;
 }
 return result;
}
double qPower_n(double x, long n)
{
 // n >= 0
 double result = 1;
 while(n)
 {
  if(n % 2 == 1)
  {
   result = result * x;
  }
  x = x * x;
  n = n / 2;
 }
 return result;
}
int main()
{
 double x = 3;
 long n = 2;
 double z;
 z = qPower_n(x, n);
 printf("z = %f", z);

 getch();
 return 0;
}

Bài 11: Tính S(n) = 1 + 1.2 + 1.2.3 + … + 1.2.3….N

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

int main()
{
 int i, n;
 long S, P;
 S = 0;
 P = 1;
 i = 1;
 do
 {
  printf("\nNhap n: ");
  scanf("%d", &n);
  if(n < 1)
  {
   printf("\nN phai lon hon hoac bang 1. Xin nhap lai !");
  }
 }while(n < 1);

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

 getch();
 return 0;
}

Bài 12: Tính S(n) = x + x^2 + x^3 + … + x^n

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

int main()
{
 int i, n;
 float x, T, S;
 i = 1;
 T = 1;
 S = 0;
 printf("\nNhap x: ");
 scanf("%f", &x);

 printf("\nNhap n: ");
 scanf("%d", &n);

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

 getch();
 return 0;
}

Bài 13: Tính S(n) = x^2 + x^4 + … + x^2n

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

 printf("\nNhap n: ");
 scanf("%d", &n);

 while(i <= n)
 {
  //T = T * x * x;
  T = pow(x, (2 * i ));
  S = S + T;
  i++;
 }
 printf("\nTong la %f",S);

 getch();
 return 0;
}

Bài 14: Tính S(n) = x + x^3 + x^5 + … + x^2n + 1

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

 printf("\nNhap n: ");
 scanf("%d", &n);

 while(i < n)
 {
  T = pow(x, (2 * i + 1));
  S = S + T;
  i++;
 }

 printf("\nTong la %f",S);

 getch();
 return 0;
}

Bài 15: Tính S(n) = 1 + 1/1 + 2 + 1/ 1 + 2 + 3 + ….. + 1/ 1 + 2 + 3 + …. + N

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

int main()
{
 int i, n;
 float S, T;
    i = 1;
 S = 0;
 T = 0;
 do
 {
 printf("\nNhap n: ");
 scanf("%d", &n);
   if(n < 1)
    {
  printf("\nN phai >= 1. Xin Nhap lai!");
    }
 }while(n < 1);

 while(i <= n)
 {
  T = T + i;
  S = S + 1.0 / T;
  i++;
 }
 printf("\nTong la %f", S);

 getch();
 return 0;
}

Bài 16: Tính S(n) = x + x^2/1 + 2 + x^3/1 + 2 + 3 + … + x^n/1 + 2 + 3 + …. + N

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

int main()
{
 int i, n;
 float x, S, T;
 long M;
 printf("\nNhap x: ");
 scanf("%f", &x);
 do
 {
 printf("\nNhap n: ");
 scanf("%d", &n);
   if(n < 1)
   {
    printf("\n N phai >= 1. Xin nhap lai !");
   }

 }while(n < 1);

 S = 0;
 T = 1;
 M = 0;
 i = 1;

 while(i <= n)
 {
  T = T * x;
  M = M + i;
  S = S + T/M;
  i++;
 }
 printf("\nTong la %f", S);
 getch();
 return 0;
}

Bài 17: Tính S(n) = x + x^2/2! + x^3/3! + … + x^n/N!

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

int main()
{
 int i, n;
 float x, S, T;
 long M;
 printf("\nNhap x: ");
 scanf("%f", &x);
 do
 {
 printf("\nNhap n: ");
 scanf("%d", &n);
   if(n < 1)
   {
    printf("\n N phai >= 1. Xin nhap lai !");
   }

 }while(n < 1);

 S = 0;
 T = 1;
 M = 1;
 i = 1;

 while(i <= n)
 {
  T = T * x;
  M = M * i;
  S = S + T/M;
  i++;
 }
 printf("\nTong la %f", S);
 getch();
 return 0;
}

Bài 18: Tính S(n) = 1 + x^2/2! + x^4/4! + … + x^2n/(2n)!

#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
 int i, n;
 float x, S, T;
 long M, N;
 printf("\nNhap x: ");
 scanf("%f", &x);
 do
 {
 printf("\nNhap n(n >= 0) : ");
 scanf("%d", &n);
   if(n < 0)
   {
    printf("\n N phai >= 0. Xin nhap lai !");
   }

 }while(n < 0);

 S = 1;
 N = 1;
 i = 1;

 while(i <= n)
 {
  T = pow(x, (2 * i ));
  M = i * 2;
  N = N * M * (M - 1);
  S = S + T/N;
  i++;
 }
 printf("\nTong la %f", S);
 getch();
 return 0;
}

Bài 19: Tính S(n) = 1 + x + x^3/3! + x^5/5! + … + x^(2n+1)/(2n+1)!

#include<stdio.h>
#include<conio.h>
#include<math.h>
int main()
{
 int i, n;
 float x, S, T;
 long M, N;
 printf("\nNhap x: ");
 scanf("%f", &x);
 do
 {
 printf("\nNhap n(n >= 1) : ");
 scanf("%d", &n);
   if(n < 1)
   {
    printf("\n N phai >= 1. Xin nhap lai !");
   }

 }while(n < 1);

 S = 1;
 N = 1;
 i = 1;

 while(i <= n)
 {
  T = pow(x, (2 * i + 1));
  M = i * 2 + 1;
  N = N * M * (M - 1);
  S = S + x + T/N;
  i++;
 }
 printf("\nTong la %f", S);
 getch();
 return 0;
}

Bài 20: Liệt kê tất cả các “ước số” của số nguyên dương n

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

int main()
{
 int i, n;
 do
 {
 printf("\nNhap n(n > 0): ");
 scanf("%d", &n);
   if(n <= 0)
    {
  printf("\n N phai > 0. Xin nhap lai !");
    }
 }while(n <= 0);
    i = 1;

 while(i <= n)
 {
  if(n % i == 0)
   printf("%4d", i);
   i++;
 }

 getch();
 return 0;
}

Bài 21: Tính tổng tất cả các “ước số” của số nguyên dương n

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

int main()
{
 int i, n;
 long S;
 do
 {
 printf("\nNhap n(n > 0): ");
 scanf("%d", &n);
   if(n <= 0)
    {
  printf("\n N phai > 0. Xin nhap lai !");
    }
 }while(n <= 0);
    i = 1;
 S = 0;
 while(i <= n)
 {
  if(n % i == 0)
  {
   printf("%4d", i);
     S = S + i;
  }
   i++;
 }
 printf("\nTong cac uoc cua %d la: %ld", n, S);
 getch();
 return 0;
}

Bài 22: Tính tích tất cả các “ước số” của số nguyên dương n

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

int main()
{
 int i, n;
 long P;
 do
 {
 printf("\nNhap n(n > 0): ");
 scanf("%d", &n);
   if(n <= 0)
    {
  printf("\n N phai > 0. Xin nhap lai !");
    }
 }while(n <= 0);
    i = 1;
 P = 1;
 while(i <= n)
 {
  if(n % i == 0)
  {
     printf("%4d", i);
     P = P * i;
  }
   i++;
 }
 printf("\nTich cac uoc cua %d la: %ld", n, P);
 getch();
 return 0;
}

Bài 23: Đếm số lượng “ước số” của số nguyên dương n

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

int main()
{
 int i, n;
 int count;
 do
 {
 printf("\nNhap n(n > 0): ");
 scanf("%d", &n);
   if(n <= 0)
    {
  printf("\n N phai > 0. Xin nhap lai !");
    }
 }while(n <= 0);
    i = 1;
 count = 0;
 while(i <= n)
 {
  if(n % i == 0)
  {
     printf("%4d", i);
     count++;
  }
   i++;
 }
 printf("\nSo luong cac uoc so cua %d la: %d", n , count);
 getch();
 return 0;
}

Bài 24: Liệt kê tất cả các “ước số lẻ” của số nguyên dương n

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

int main()
{
 int i, n;
 do
 {
 printf("\nNhap n(n > 0): ");
 scanf("%d", &n);
   if(n <= 0)
    {
  printf("\n N phai > 0. Xin nhap lai !");
    }
 }while(n <= 0);
    i = 1;

 printf("\nCac uoc so le cua so %d la: ",n);
 while(i <= n)
 {
  if(n % i == 0)
  {
   if(i % 2 == 1)
   printf("%4d", i);
  }
   i++;
 }

 getch();
 return 0;
}

Bài 25: Tính tổng tất cả các “ước số chẵn” của số nguyên dương n

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

int main()
{
 int i, n;
 long S;
 do
 {
 printf("\nNhap n(n > 0): ");
 scanf("%d", &n);
   if(n <= 0)
    {
  printf("\n N phai > 0. Xin nhap lai !");
    }
 }while(n <= 0);
    i = 1;
    S = 0;
 printf("\nCac uoc so chan cua so %d la: ",n);
 while(i <= n)
 {
  if(n % i == 0)
  {
   if(i % 2 == 0)
   {
   printf("%4d", i);
   S = S + i;
   }
  }
   i++;
 }
 printf("\nTong cac uoc so chan cua %d la: %ld", n, S);

 getch();
 return 0;
}

Bài 26: Tính tích tất cả các “ước số lẻ” của số nguyên dương n

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

int main()
{
 int i, n;
 long P;
 do
 {
 printf("\nNhap n(n > 0): ");
 scanf("%d", &n);
   if(n <= 0)
    {
  printf("\n N phai > 0. Xin nhap lai !");
    }
 }while(n <= 0);
    i = 1;
    P = 1;
 printf("\nCac uoc so le cua so %d la: ",n);
 while(i <= n)
 {
  if(n % i == 0)
  {
   if(i % 2 == 1)
   {
   printf("%4d", i);
   P = P * i;
   }
  }
   i++;
 }
 printf("\nTich cac uoc so le cua %d la: %ld", n, P);

 getch();
 return 0;
}

Bài 27: Đếm số lượng “ước số chẵn” của số nguyên dương n

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

int main()
{
 int i, n;
 int count;
 do
 {
 printf("\nNhap n(n > 0): ");
 scanf("%d", &n);
   if(n <= 0)
    {
  printf("\n N phai > 0. Xin nhap lai !");
    }
 }while(n <= 0);
    i = 1;
    count = 0;
 printf("\nCac uoc so chan cua so %d la: ",n);
 while(i <= n)
 {
  if(n % i == 0)
  {
   if(i % 2 == 0)
   {
   printf("%4d", i);
   count++;
   }
  }
   i++;
 }
 printf("\nSo luong uoc so chan cua %d la: %ld", n, count);

 getch();
 return 0;
}

Bài 28: Cho số nguyên dương n. Tính tổng các ước số nhỏ hơn chính nó

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

int main()
{
 int i, n;
 long S;
 do
 {
 printf("\nNhap n(n > 0): ");
 scanf("%d", &n);
   if(n <= 0)
    {
  printf("\n N phai > 0. Xin nhap lai !");
    }
 }while(n <= 0);
    i = 1;
 S = 0;
 printf("\nCac uoc nho hon %d la",n);
 while(i < n)
 {
  if(n % i == 0)
  {
   printf("%4d", i);
     S = S + i;
  }
   i++;
 }
 printf("\nTong cac uoc nho hon %d la: %ld", n, S);
 getch();
 return 0;
}

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>

int main()
{
 int i, n, max;
 do
 {
 printf("\nNhap n(n > 0): ");
 scanf("%d", &n);
   if(n <= 0)
    {
  printf("\n N phai > 0. Xin nhap lai !");
    }
 }while(n <= 0);
    i = 1;
 max = 1;
 printf("\nCac uoc so le cua so %d la: ",n);
 while(i <= n)
 {
  if((n % i == 0) && (i % 2 == 1))
  {
   if(i > max)
   {
   max = i;
   }
   printf("%4d", i);
  }
   i++;
 }
 printf("\nUoc so le lon nhat la %d", max);

 getch();
 return 0;
}

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

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

int main()
{
 int i, n;
 long S;
 do
 {
 printf("\nNhap n(n > 0): ");
 scanf("%d", &n);
   if(n <= 0)
    {
  printf("\n N phai > 0. Xin nhap lai !");
    }
 }while(n <= 0);
    i = 1;
 S = 0;
 while(i < n)
 {
  if(n % i == 0)
  {
     S = S + i;
  }
   i++;
 }
 if(S == n)
  printf("\n%d la so hoan thien", n);
 else
  printf("\nSo nhap vao khong la so hoan thien");
 getch();
 return 0;
}

Đăng nhận xét

0 Nhận xét