1. Trang chủ
  2. » Công Nghệ Thông Tin

Viết chương trình đệ quy tính tổng n số nguyên đầu tiên

6 16,7K 39
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Viết chương trình đệ quy tính tổng n số nguyên đầu tiên
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại bài tập
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 6
Dung lượng 42 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Viết chương trình đệ quy tính tổng n số nguyên đầu tiên

Trang 1

1 Viết chương trình đệ quy tính tổng n số nguyên đầu tiên

long int Tong(long int n){

if (n==0){

return 0;

} else return (Tong (n-1)+n);

}

Int main(){ cout<<Tong(10); getch(); }

2 Viết chương trình đệ quy tính ước số chung lớn nhất của hai số nguyên dương a

b

int USCLN(int a, int b){

if (b==0){

return a;

} else return USCLN(b, a%b);

}

3 Viết chương trình tìm số lớn nhất trong dãy số x1, ,xn

Int A[]= {-5, -4,-2,400,311,711,8,12,30,34,45};

1 Tìm tuần tự

int max = A[0];

int n = sizeof(A)/sizeof(int);

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

if (max<A[i]) max = A[i];

}

2 Tìm đệ quy

int A[]={-5, -4,-2,400,311,711,8,12,30,34,45};

int Tg;

int Max(int m){

if (m ==0){

return A[0];

} else{

Tg = Max(m-1);

if (A[m]>Tg) return A[m];

else return Tg;

Trang 2

}

int n = sizeof(A)/sizeof(int);

cout << Max(n-1);

phần tử x trong dãy theo thuật toán tìm kiếm nhị phân

int A[]={-5, -4,-2,0,3,7,8,12,30,34,45};

int k;

int BS(int x, int i, int j){

if (i<=j){

k = (int)((i+j)/2);

if (A[k]==x) return k;

else

if (A[k]>x) return BS(x,i,k-1);

else return BS(x,k+1,j);

} else return -1;

}

int main(){

int n = sizeof(A)/sizeof(int);

int x = -4;

cout << BS(x,0,n-1);

}

5 Cho đa thức P n (x) = a n x n + a n-1 x n-1 + +a 1 x+a 0 Xây dựng thuật toán tính P n (x 0 ) dựa trên biểu diễn

Pn(x) = ((( ((anx+ an-1)x+an-2)x+ )x+a2)x+a1)x+a0

6 Viết chương trình tìm số lớn nhất, số nhỏ nhất trong danh sách liên kết S có cấu trúc

typedef struct node{

int k;

struct node* next;

Trang 3

} list;

list *s;

7 Viết thủ tục đệ quy tìm số lớn nhất, số nhỏ nhất trong danh sách liên kết S có cấu trúc

typedef struct node{

int k;

struct node* next;

} list;

list *s;

Trang 4

// Ky phap Ba Lan

//Tinh gia tri bieu thuc, bieu thuc cho o dang hau to

// DevC++

// -#include<stdio.h>

#include<conio.h>

#include<iostream.h>

#include<malloc.h>

#include<string.h>

#include<ctype.h>

#define maxlen 255

#define n 15

using namespace std;

typedef char chars[maxlen];

chars M[n] = {"24","4","+","2","/","2","*","6","1","2","+","/","12","*","-"};

typedef struct node{

int data;

struct node* next;

} stack;

stack *s;

void Print(stack* &Qptr){

if (Qptr != NULL){

cout<<Qptr->data;

cout<<Qptr->next;

}

else cout<<endl;

}

Trang 5

void push(int x, stack * &sptr){ stack *m;

m = (stack*)malloc(sizeof(stack)); m->data = x;

m->next = sptr;

sptr = m;

}

void pop(stack * &qptr, int &x){

x = qptr->data;

qptr = qptr->next;

}

int calc(int a, int b, char x){ int y;

switch(x){

case '+': y = a+b;break;

case '-': y = a-b;break;

case '*': y = a*b;break;

case '/': y = a/b;break;

}

return y;

}

int main(){

int i,j, kq, a, b;

chars x;

for(i=0;i<n;i++){

strcpy(x,M[i]);

if (x[0]>='0'&& x[0]<='9'){

a = 0;

for(j=0;j<strlen(x);j++)

a = a*10 + (char(x[j])-48);

push(a,s);

}

Trang 6

pop(s,a);pop(s,b);

kq = calc(b, a, x[0]); push(kq,s);

}

}

pop(s,a);

cout<<a;

getch();

}

Ngày đăng: 26/10/2012, 14:08

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w