Nãy giờ e đang viết theo a Đạt hướng dẫn. Hi
Sử dụng for để giải biểu thức tính tổng?
chúc bạn thành công hiiii
E sẽ tự viết chứ ko copy rồi paste đâu. Hi
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
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.
#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
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
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.
Mark down dùng như thế nào ạ
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?
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
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;
}
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
E hiểu rồi. Hi zzzzzz
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();
}
#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();
}
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ể
//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
#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;
}