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

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?