30/09/2018, 17:25

Số có 2 chữ số bình phương bất kì

Mình tính số có 2 chữ số bình phương bất kì , mình code nhưng không chạy được mong các ban giúp đỡ

#include<iostream>

using namespace std;




void main()
{
	int n, s , phandu , sn1 , sn2 , k1 , k2 , k3 , dvbp , hc ;
	int sochia;
	cout << "tinh mot so binh phuong 2 chu so bat ky " << endl;
	cout << "nhap so co 2 chu so " << endl;
	cin >> n;
	while (n > 0)
	{
		sochia = n / 10;
		phandu = n % 10;
		dvbp = pow(phandu, 2);    // phần dư bình phương
		if (dvbp > 10)
		{
			k1 = dvbp % 10;
			sn1 = dvbp / 10;  
		}
		else
			k1 = dvbp;
		//bước 2 xử lý hàng chục = số hàng chục * hàng đơn vị * 2 + số dư 
		hc = (sochia) * 2 * phandu + sn1;
		if (hc > 10)
		{
			k2 = hc % 10;
			sn2 = hc / 10;
		}
		else
			k2 = hc;
		// binh phương hàng chục
		k3 = pow((sochia), 2) + sn2;
	}
		// phép tính cuối cùng
		s = ((k3 * 10) + k2) * 10 + k1;
		cout << "ket qua la :" << s << endl;
		
	system("pause");
}
Nguyễn Duy Khánh viết 19:39 ngày 30/09/2018

Đọc đề chả hiểu gì cả, bác cho cái VD

trun viết 19:30 ngày 30/09/2018

tính bình phương số 1 số bất kì có 2 chữ số

No Name viết 19:28 ngày 30/09/2018

Là sao bạn???Ví dụ số 34???

trun viết 19:33 ngày 30/09/2018

34^2 cách tính là :
bước 1 : 4^2 = 16 ghi 6 nhớ 1
bước 2 : lấy hàng chục nhân hàng đơn vị và nhân cho 2 >> 3 * 4* 2 = 24 ghi 4 nhớ 1 ở trên nữa là 5 vậy ta có là ?56 và nhớ 2
bước 3 : bình phương hàng chục 3^2 = 9 nhớ 2 trên nữa là 11 vậy kết quả là 1156

kiểm tra lại coi 34^2 có bằng 1156 không cách tính cho số khác lun

lx viết 19:39 ngày 30/09/2018

ý bạn theo mình hiểu là: bạn muốn lập công thức tính nhẩm cho bài toán tính bình phương 1 số có 2 chữ số (ab^2), thay vì áp công thức (ab^2) vào luôn phải không

No Name viết 19:26 ngày 30/09/2018

Bài này đơn giản là cứ làm từng bước thôi có gì đâu bạn cứ if if làm gì.Code của mình nè ,bạn chạy thử coi.

#include<iostream>

using namespace std;

int main()
{
	int n;
	do
	{
		cout << "Nhap vao so n : ";
		cin >> n;
		if(n < 10 || n > 99)
			cout << "Nhap lai !!!" << endl;
	}
	while(n < 10 || n > 99);
	int HangChuc = n / 10;
	int HangDonVi = n % 10;
	int Buoc1 = HangDonVi * HangDonVi;
	int DuDV1  = Buoc1 % 10;
	int DuChuc1 = Buoc1 / 10;
	int Buoc2 = HangChuc * HangDonVi * 2 + DuChuc1;
	int DuDV2 = Buoc2 % 10;
	int DuChuc2 = Buoc2 / 10;
	int Buoc3 = HangChuc * HangChuc + DuChuc2;
	int BinhPhuong = (Buoc3 * 10 + DuDV2) * 10 + DuDV1;
	cout << "Binh phuong cua " << n << "la " << BinhPhuong << endl;
	cout << "TEST ^_^ : " << n*n << endl;
	system("pause");
	return 0;
}
Bài liên quan
0