Bài tập 5: tính tổng (1/2->1/n)
3 posters
Trang 1 trong tổng số 1 trang
Bài làm của Nguyễn An
Bài này còn 1 lỗi chỗ tính số thập phân . Các bạn vào xem tiếp nhé
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace tinhtongbinhphuong
{
class tingtong
{
private Int16 n;
private float tu, mau;
private float tong = 0;
public void nhap()
{
Console.WriteLine("Ban hay nhap gioi han day so ");
Console.Write("n = ");
n = Int16.Parse(Console.ReadLine());
}
public void tinhtong()
{
float s = 0;
while (n >= 2)
{
s += (float)1 / n;
n--;
}
tong = s;
}
public void tinhtongtp()
{
float tutam = 0;
float mautam = 1;
for (int i = 2; i <= n; i++)
{
mautam *= (float)i;
}
for (int j = 2; j <= n; j++)
{
tutam += (float)mautam / j;
}
tu = tutam;
mau = mautam;
}
public float UCLN()
{
float t, m;
t = Math.Abs(tu);
m = Math.Abs(mau);
while (t != m)
{
if (t > m) t = t - m;
if (t < m) m = m - t;
}
return t;
}
public void toigian()
{
float u = UCLN();
tu = tu / u;
mau = mau / u;
if ((tu < 0) && (mau < 0))
{
tu = Math.Abs(tu);
mau = Math.Abs(mau);
}
}
public void xuat()
{
Console.WriteLine("Tong = " + tong);
Console.WriteLine("dang phan so : " + tu + "/" + mau);
}
}
class Program
{
static void Main(string[] args)
{
tingtong t = new tingtong();
t.nhap();
t.tinhtong();
t.tinhtongtp();
http://t.toigian();
t.xuat();
Console.ReadLine();
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace tinhtongbinhphuong
{
class tingtong
{
private Int16 n;
private float tu, mau;
private float tong = 0;
public void nhap()
{
Console.WriteLine("Ban hay nhap gioi han day so ");
Console.Write("n = ");
n = Int16.Parse(Console.ReadLine());
}
public void tinhtong()
{
float s = 0;
while (n >= 2)
{
s += (float)1 / n;
n--;
}
tong = s;
}
public void tinhtongtp()
{
float tutam = 0;
float mautam = 1;
for (int i = 2; i <= n; i++)
{
mautam *= (float)i;
}
for (int j = 2; j <= n; j++)
{
tutam += (float)mautam / j;
}
tu = tutam;
mau = mautam;
}
public float UCLN()
{
float t, m;
t = Math.Abs(tu);
m = Math.Abs(mau);
while (t != m)
{
if (t > m) t = t - m;
if (t < m) m = m - t;
}
return t;
}
public void toigian()
{
float u = UCLN();
tu = tu / u;
mau = mau / u;
if ((tu < 0) && (mau < 0))
{
tu = Math.Abs(tu);
mau = Math.Abs(mau);
}
}
public void xuat()
{
Console.WriteLine("Tong = " + tong);
Console.WriteLine("dang phan so : " + tu + "/" + mau);
}
}
class Program
{
static void Main(string[] args)
{
tingtong t = new tingtong();
t.nhap();
t.tinhtong();
t.tinhtongtp();
http://t.toigian();
t.xuat();
Console.ReadLine();
}
}
}
Re: Bài tập 5: tính tổng (1/2->1/n)
Bài này tôi có trả lời cho ông về vấn đề này trên Group.
Tôi xin nhắc lại như sau: biến n bạn dùng trong hàm public void tinhtong() đã giảm dần tới 1 trong vòng lặp while, cho nên cách duy nhất để thoát khỏi lỗi này là dùng biến tạm để chứa tạm thời giá trị của n trong vòng lặp while, để biến n không bị thay đổi trong hàm public void tinhtongtp().
Thân chào !
Tôi xin nhắc lại như sau: biến n bạn dùng trong hàm public void tinhtong() đã giảm dần tới 1 trong vòng lặp while, cho nên cách duy nhất để thoát khỏi lỗi này là dùng biến tạm để chứa tạm thời giá trị của n trong vòng lặp while, để biến n không bị thay đổi trong hàm public void tinhtongtp().
Thân chào !
levientrinh_10TH- Tổng số bài gửi : 30
Join date : 05/01/2011
bài của mình làm nè
- Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace bai5
{
class Program
{
static void Main(string[] args)
{
int n;
int i;
float S = 0;
Console.WriteLine("tinh tong S=1/2+1/3+1/4+...+1/n");
Console.WriteLine("nhap vao n");
n = int.Parse(Console.ReadLine());
while (n < 2)
{
Console.WriteLine("moi ban nhap vao so lon hon 2");
n = int.Parse(Console.ReadLine());
}
for (i = 2; i <= n; i++)
{
S = S +(float) 1/i;
}
Console.WriteLine("tong la S={0}", S);
}
}
}
caophuochoa- Tổng số bài gửi : 4
Join date : 05/01/2011
Similar topics
» Bài tập 6 : tính tổng (1/2+1/4+->1/2n)
» Bài tập 7 : Tính tổng (1+1/3+...+1/(2n+1))
» Bài tâp 13 :Tính tổng các số nguyên tố từ 0->n
» Bài tập 3 : Tính tổng n số nguyên
» Bài tập 9 : tính tổng các ước của 1 số nguyên dương
» Bài tập 7 : Tính tổng (1+1/3+...+1/(2n+1))
» Bài tâp 13 :Tính tổng các số nguyên tố từ 0->n
» Bài tập 3 : Tính tổng n số nguyên
» Bài tập 9 : tính tổng các ước của 1 số nguyên dương
Trang 1 trong tổng số 1 trang
Permissions in this forum:
Bạn không có quyền trả lời bài viết
|
|