Chuyển đổi thuật toán dùng mảng một chiều không đúng kết quả
bạn Hải Nguyễn
Hỏi mình một câu như sau :
vì chưa hiểu về mảng lắm. hôm trước thầy cho em 1 bài và yêu cầu làm theo 2 cách là dùng hàm và mảng.
https://fbcdn-sphotos-h-a.akamaihd.net/hphotos-ak-xpf1/v/t35.0-12/10800123_500232206782919_1620167905_o.jpg?oh=338262fe155542b99309fba7545e8d03&oe=5467A93C&gda=1416065388_5d3fe85fe0b11708baffcd470c809872
e làm hàm thì chạy đúng kết quả nhưng khi e viết mảng thì lại chạy sai, e k hiểu tại sao nữa
#include<stdio.h>
#include<conio.h>
void main()
{
int n,i=3;
int f[1000];
// dua vao con thuc tinh f2 de tinh ra duoc gia tri f2
do
{
printf(" nhap n:");
scanf(" %d", &n);
}
while (n<1||n>10000000);
f[1]=1; f[2]=2;// dung cong thuc de tinh ra gia tri f2
for (int i=3;i<=n;i++)
{
f[i]=i*(f[i-1]+f[i-2]);
//f[i-1]=f[i];
}
printf(" f = %d", f[n]);// in ra tong f
getch();
}
//xem lai
Có bạn nào giúp được bạn Hải Nguyễn không ?
vì thuật toán của bạn chạy chưa đúng. Mình có sửa lại, bạn xem chạy ok không ?
mấy bác cho e hỏi bài 5 công thức j tô đậm to kia là sao? e hỏi để e làm thử! e k có trường lớp vì vây bài tập cũng ít mà bài khó thì thua! cái nào đã học thì chắc giải được! bác cứ giải thích cho e bằng lời là Fn tính như thế nào?
Theo mình đoán là vậy: (Gà toán lắm ):
Bài 5 : Số thứ n= n * (tổng các F của số đứng trước đó).
Ví dụ :
F(1)=1
F(2)=2 *F(1)
F(3)= 3 * ( F(2) + F(1) )
F(4)= 4 * ( F(3) + F(2) + F(1) )