Sử dụng for để giải biểu thức tính tổng?

Nãy giờ e đang viết theo a Đạt hướng dẫn. Hi

1 Like

chúc bạn thành công hiiii :smiley:

2 Likes

E sẽ tự viết chứ ko copy rồi paste đâu. Hi

3 Likes

mình rút đc 1 kinh nghiệm! bài nào công thức càng dài càng dễ! đừng nhìn vào con số! hãy nhìn vào giá trị của biến! nếu n là số nguyên nhập vào vậy n sẽ dùng để lặp! tìm n bằng cách thử truyền vào bằng những số ban đầu bài toán cho! sau đó ta sẽ xét đến việc tích thì bằng 1 và tổng = 0. đối vs thương ta qui đồng tiếp theo thì lặp bt! nhớ là công thức cả bài ở cuối đó! nhìn vào nó mà chạy

2 Likes

Code trên mình chưa viết trọn vẹn đâu ,có lỗi đấy.Nhờ bạn fix lại giúp mình.

2 Likes
#include <stdio.h>
#include <conio.h>
int main ()
{
int n;
float i, s=1;
printf("moi ban nhap n: ");
scanf("%d", &n);
if(n>=1)
{
for(i=1;i<=n;i++);
s=s+(i/(i+1));
printf("Tong s=%.2f", s);
}
else
printf("nhap n>=1");
getch();
}

Các bác xem. Hehe

1 Like
include
include
int main ()
{
int n;
float i, s=1;
printf("moi ban nhap n: ");
scanf("%d", &n);
if(n>=1)
{
for(i=1;i<=n;i++);
s=s+(i/(i+1));
printf("Tong s=%.2f", s);
}
else
printf("nhap n>=1");
getch();
}

bạn lưu ý dùng mark down mà post code

1 Like

Câu sau e nghĩ nó như thế này: S=1,S1=1, for (i=2, i<=n, i++). S1=S1+i, S=S+S1/i.
:grin:

1 Like

Mark down dùng như thế nào ạ

1 Like
2 Likes

Mà sao bài em viết tính ra thì = 1.8
Cơ mà e dùng máy tính bấm ra là 1.9?

1 Like

S(n)=1+chuỗi số(mỗi phần tử của chuỗi có công thức chung n/(n+1)).Thì ta vẫn nhập N =0 được chứ.khi đó S(n)=1

2 Likes

tính s(n)=…(1+2+3+…+n)/n

x=0;y=1;s=0
for(i=1->n)
{
x=x+i;
y=y*i;
     s=s+x/y;
}
2 Likes

sai rồi mới thế! :smiley: nhớ là chia thì float nhé ! xem coi nó chạy thừa hay thiếu vòng lặp rồi công thức đugns chưa

2 Likes

E hiểu rồi. Hi :smiley: zzzzzz

1 Like

Dò e với.
Ct này tính ra 1.8 khi nhập n = 3
Máy tính cá nhân thì ra 1.9xx

#include <stdio.h>
#include <conio.h>
int main ()
{
int n;
float i, s=1;
printf("moi ban nhap n: ");
scanf("%d", &n);
if(n>=1)
{
for(i=1;i<=n;i++);
s=s+(i/(i+1));
printf("Tong s=%.2f", s);
}
else
printf("nhap n>=1");
getch();
}
1 Like
#include <stdio.h>
#include <conio.h>
int main ()
{
int n;
float i, s=1;
printf("moi ban nhap n: ");
scanf("%d", &n);
if(n>=1)
{
for(i=1;i<=n;i++){
s=s+(i/(i+1));
}
printf("Tong s=%.2f", s);
}
else
printf("nhap n>=1");
getch();
}
2 Likes

tại sao lại để tổng ra ngoài for!? như thế chạy đc có 1 lần tính tổng và nó dừng lại lun! còn nữa! đừng tiết kiệm ngoặc nếu có thể :wink:

3 Likes
//bai 1
#include <stdio.h>
int main(void) {
    double s=0;
    int i,n;
    scanf("%d",&n);
    for(i=1;i<=n;++i){
        s+=(double)i/(i+1);
    }
    printf("%.2lf",s);
    return 0;
}

bai 2

#include <stdio.h>
int main(void) {
    double s=0;
    int i,n,tu_so=0,mau_so=1;
    scanf("%d",&n);
    for(i=1;i<=n;++i){
        tu_so+=i;
        mau_so*=i;
        s+=(double)tu_so/mau_so;
    }
    printf("%.2lf",s);
    return 0;
}

mình nghĩ bai2 nên để tránh tràn số int -> long long có thể chạy được đến n=18

4 Likes
#include<stdio.h>
int tong(int N);
int giai_thua(int N);
int main(){
	int N;
	float sum=0;
	do{
		printf("Nhap N:");
		scanf("%d",&N);
	}
	while(N<=0);
	for(int i=1;i<=N;i++)
		sum=sum+((float)tong(i)/giai_thua(i));
	printf("Tong can tim bang:%.2f\n",sum);
	return 0;
}
int tong(int N){
	int sum=0;
	for(int i=1;i<=N;i++)
		sum+=i;
	return sum;
}
int giai_thua(int N){
	int giai_thua=1;
	for(int i=1;i<=N;i++)
		giai_thua*=i;
	return giai_thua;
}
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?