Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: xem dùm bài đệ quy t=x^n??

  1. #1
    Ngày gia nhập
    03 2008
    Bài viết
    126

    Mặc định xem dùm bài đệ quy t=x^n??

    mình đang làm đệ quy
    mà thấy mơ hồ quá
    mình có bài tập như sau
    tính T=x^n mà sữ dụng kỹ thuật đệ quy
    đây là code của mình
    các bạn sữa dùm mình lổi sai nha
    Code:
    #include <stdio.h>
    #include <math.h>
    float ketqua(float x,int n)
    {
    	if(n==1)
    		return x;
    	else
    	{
    		return x*pow(x,ketqua(n-1));
    	}
    }
    void main()
    {
    	int n;
    	float x;
    	printf("Nhap x: ");
    	scanf("%f",&x);
    	printf("nhap n: ");
    	scanf("%d",&n);
    	float kq=ketqua(x,n);
    	printf("Ket qua la %f\n",kq);
    }

  2. #2
    Ngày gia nhập
    04 2007
    Nơi ở
    Bà Trưng quê ở Mê Linh
    Bài viết
    29

    Code:
    #include <stdio.h>
    #include <math.h>
    float ketqua(float x,int n)
    {
    	if(n==1)
    		return x;
    	else
    	{
    		return x*pow(x,ketqua(n-1));//Chỗ này chẳng hiểu cậu viết cái j
    	}
    }
    void main()
    {
    	//Cho thêm lệnh xóa màn hình cho sạch clrscr() và khai báo kiểu của kq
               đã chữa ở dưới.
            int n;
    	float x;
    	printf("Nhap x: ");
    	scanf("%f",&x);
    	printf("nhap n: ");
    	scanf("%d",&n);
    	kq=ketqua(x,n);
            // chỉ cần kq=pow(x,n), bỏ float đi gọi hàm chỉ cần vậy thui
    	printf("Ket qua la %f\n",kq);
            // Phải cho cái getch () vào
       
    }
    Mình sửa cho bạn rùi nè ! Coi nhé.
    Code:
    #include "conio.h"
    #include <stdio.h>
    #include <math.h>
    float ketqua(float x,int n)
    {
    	if(n==1)
    	 return x;
    	else
    	{
    	  return pow(x,n);
    	}
    }
    void main()
    {
    	clrscr();
    	float kq;
    	float a;
    	float b;
    	printf("Nhap a: ");
    	scanf("%f",&a);
    	printf("nhap b: ");
    	scanf("%f",&b);
    	kq=pow(a,b);
    	printf("pow=%f",kq);
    	getch();
    }
    >"<

  3. #3
    Ngày gia nhập
    03 2008
    Bài viết
    126

    cậu làm như vậy là sai rồi
    Code:
    float ketqua(float x,int n)
    {
    	if(n==1)
    	 return x;
    	else
    	{
    	  return pow(x,n);
    	}
    }
    nếu làm như cậu làm thì cái này ko có ý nghĩa gì hết
    Code:
    kq=pow(a,b)
    cái này mình cần làm bằng đệ quy
    sài cái hàm này thì quá đơn giản rồi
    dù sao cũng cảm ơn cậu nhiều
    nếu cậu hiểu đệ quy thì sữa code lại bằng đệ quy dùm mình nha

  4. #4
    Ngày gia nhập
    03 2008
    Bài viết
    126

    code đúng
    làm mải mà mệt quá
    Code:
    #include <stdio.h>
    #include <math.h>
    float ketqua(float x,int n)
    {
    	if(n==1)
    		return x;
    	else
    	{
    		return x*ketqua(x,n-1);
    	}
    }
    void main()
    {
    	int n;
    	float x;
    	printf("Nhap x: ");
    	scanf("%f",&x);
    	printf("nhap n: ");
    	scanf("%d",&n);
    	float kq=ketqua(x,n);
    	printf("Ket qua la %f\n",kq);
    }

  5. #5
    Ngày gia nhập
    04 2007
    Nơi ở
    Bà Trưng quê ở Mê Linh
    Bài viết
    29

    Bó tay thôi ấy. Tôi test bằng TC 3.0 never start. Nên tôi sửa theo ý của tôi. Ừ ý bạn bài này theo đệ quy ? Hiểu ý bạn.
    >"<

  6. #6
    Ngày gia nhập
    02 2008
    Bài viết
    1,009

    Mặc định xem dùm bài đệ quy t=x^n??

    Code:
    #include <stdio.h>
    #include <math.h>
    float ketqua(float x,int n)
    {
    	if(n==1)
    		return x;
    	else
    	{
    		return x*ketqua(x,n-1);
    	}
    }
    void main()
    {
    	int n;
    	float x;
    	printf("Nhap x: ");
    	scanf("%f",&x);
    	printf("nhap n: ");
    	scanf("%d",&n);
    	float kq=ketqua(x,n);
    	printf("Ket qua la %f\n",kq);
    }
    nói thật...chẳng hieeur bạn định hỏi gì đâu...bạn làm đúng theo nguyên tắc đệ quy rồi thì hỏi đệ quy làm giề nữa nhể...đang ôn đệ quy à...hcí

    to kscntt_46
    Code:
    #include <stdio.h>
    #include <math.h>
    float ketqua(float x,int n)
    {
    	if(n==1)
    		return x;
    	else
    	{
    		return x*pow(x,ketqua(n-1));//Chỗ này chẳng hiểu cậu viết cái j
    	}
    }
    void main()
    {
    	//Cho thêm lệnh xóa màn hình cho sạch clrscr() và khai báo kiểu của kq
               đã chữa ở dưới.
            int n;
    	float x;
    	printf("Nhap x: ");
    	scanf("%f",&x);
    	printf("nhap n: ");
    	scanf("%d",&n);
    	kq=ketqua(x,n);
            // chỉ cần kq=pow(x,n), bỏ float đi gọi hàm chỉ cần vậy thui
    	printf("Ket qua la %f\n",kq);
            // Phải cho cái getch () vào
       
    }
    Code:
    return x*pow(x,ketqua(n-1));//Chỗ này chẳng hiểu cậu viết cái j
    chỗ này chính là đệ quy đấy bạn...bạn có thể hiểu đơn giản đệ quy thế này nha...đệ quy ta gán số ban đầu cho biểu thức( là 1 số đầu tiên) sau đó viết công thức tổng quát của số thứ n và số thứ n-1 ( rất giống phương pháp quy nạp của toán học sơ cấp)

    bạnc ó thể tham khảo thêm ở đây nha

  7. #7
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    Bài sau đúng.
    Bài trên sai .
    @ #include : Cậu coi lại đi, bên kia tớ có viết chỗ tối ưu rồi đó. Cậu đừng bao giờ đệ qui lui như vậy, lặp lại các bước đã làm hết . Nhớ bài dãy fibo không ?


    @ Coder_gate: Tớ thấy cậu crazy sao ấy ? Có lỡ lời thì bỏ qua nhé. Chứ chỗ nào cậu cũng trả lời, mà trả lời không đâu ?

Các đề tài tương tự

  1. Lập trình C++ coi dùm minh bài code sai ở chỗ nào và sữa dùm mình với
    Gửi bởi hchuy94 trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 4
    Bài viết cuối: 02-09-2013, 10:16 AM
  2. Bài tập C tìm lỗi dùm em với
    Gửi bởi dammelaptrinh trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 27-12-2011, 09:03 PM
  3. Lập trình C tìm lỗi dùm em với
    Gửi bởi dammelaptrinh trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 20-12-2011, 12:23 AM
  4. Nhớ mấy anh đánh giá dùm CV của em
    Gửi bởi tomahutbui trong diễn đàn Thắc mắc chung
    Trả lời: 6
    Bài viết cuối: 10-06-2011, 06:01 PM
  5. Mình mới vừa học lập trình ,xin fix lỗi dùm mình và cho mình hỏi 1 vải điều .
    Gửi bởi ANHCHANG60GIAY trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 9
    Bài viết cuối: 30-04-2010, 11:40 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn