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");
}
Bài liên quan
Đọc đề chả hiểu gì cả, bác cho cái VD
tính bình phương số 1 số bất kì có 2 chữ số
Là sao bạn???Ví dụ số 34???
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
ý 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
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.