30/09/2018, 18:44
Nhập n in ra tất cả các số từ 1-> n sao cho bình phương của số đó là số "hạnh phúc"
Viết chương trình nhập n in ra tất cả các số từ 1-> n sao cho bình phương của số đó là số “hạnh phúc”.
p/s: định nghĩa số hp của thầy mình dạy là số chia nửa ra sao cho tổng nửa bên này = tổng nửa kia.
VD: 13522. (1+3=2+2) 5 không tính -_- (thầy mình kêu đây cũng là số hp mới khó hiểu chứ)
4581 (4+5=8+1)
(
khó quá các bác ơi T.T.
em mới học đến mảng vs mấy vòng lặp thôi)
Bài liên quan
số 13-5-22 mỗi bên một nữa đúng rồi còn gì =))
Anh giải thích giùm em code với @@ nhìn vô em chả hiểu gì
từ em ơi =)) test lại thì anh thấy đang có vấn đề ,nhập n <= 100 thì in ra đúng nhưng lên nữa thì …
Đây em đã chỉnh sửa lại thuật toán lần này đảm bảo đúng 100% nãy giờ ngồi test tay muốn tắt cả thở :sure:
Bạn test xem thử thế nào mình không biết các số từ 0 đến 10 có phải là số hạnh phúc không nên mình cho chạy từ i=10 đến n mình nhập n=13 thì nó in ra 11( 11^2 = 121 ) là số hạnh phúc bạn có bộ số để test thì test hộ mình
@hoangtrung1999 Như này nhé
Đầu tiên em cho nhập giới hạn
n>0
Rồi em cho chạy vòng lặp
i=10;i<=n;i++
với mỗi i thì em sẽ phải tính i^2
i1=i*i
để xem thử là số
i*iđó có bao nhiêu chữ số
(chẵn, lẽ), với mỗi TH sẽ có cách xử lí khác nhau .
TH: Chẵn:dem1=dem/2;
while (dem>dem1){
s1+= i2%10;
i2=i2/10;
dem–;
}
while (dem>0){
s2+=i2%10;
i2=i2/10;
dem–;
}
cái chỗ này em copy code về chạy debug với 1 con số nhỏ thôi thì sẽ hiểu ngay, đối với
TH lẻ``` thì tương tựi
ra ngoàithanks kiu bác :">. em nghĩ hoài k ra cái thuật toán :(. để em nghĩ xem có cách nào gọn hơn nữa k.hehehe
Các bác coi code em sai chỗ nào với toàn in ra là số k hạnh phúc
à code chạy rồi do mình nhập vào k phải số hạnh phúc nên nó k hạnh phúc cảm ơn thớt bài tập rất hay
Bác dùng mảng à để em tham khảo với
#include<stdio.h>
#include<conio.h>
int sosanh(int n)
{
int m=n, count=0,count2=0,s1=0,s2=0;
}
main(){
int n, i;
printf(“nhap n = “);
scanf(”%d”,&n);
for(i=1;i<=n;i++)
if(sosanh(i*i)==1&&i>=10)
printf("%d\n",i);
code này ngắn hơn chưa bác
Bác test thử xem có đúng không