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ế! 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 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ể
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