- Số hạnh phúc là số tự nhiên có 2k chữ số (k là số tự nhiên khác 0) trong đó tổng k các chữ số đầu bằng tổng k các chữ số sau. Ví dụ: 4132 là số hạnh phúc vì 4+1=3+2 - Cho dãy số nguyên A có n phần tử (0 < n <= 10, 0 <= A1, A2,...., An <= 10^9). Viết chương trình nhập từ bàn phím số nguyên n và dãy A(n). Thông báo ra màn hình các số hạnh phúc có trong dãy A, giữa các số ngăn các nhau 1 dấu cách - Ví dụ: Nhap n: 2 a[1]= 3 a[2]= 11 Cac so hanh phuc la: 11
2 câu trả lời
uses crt;
Var k,t,i,j,tong,ton,n:longint; a:array[1..100000]of string;
begin
clrscr;
write('n=');readln(n);
for i:=1 to n do
begin
write('a[',i,']=');readln(a[i]);
end; write('Cac so hanh phuc: ');
for i:=1 to n do
begin
k:=length(a[i]) div 2;
if (length(a[i]) mod 2=0) then
begin tong:=0; ton:=0;
for j:=1 to k do begin val(a[i][j],t); inc(tong,t); end;
for j:=k+1 to n do begin val(a[i][j],t); inc(ton,t); end;
if tong=ton then write(a[i],' ');
end;
end;
readln
end.
#include<bits/stdc++.h>
using namespace std;
int logarit(int n){
int dem=0;
while(n>=10){
n/=10; // hay n = n /10;
dem++;
}
return dem+1;
}
int strtti(string s)
{
int total=0,a,temp=0;
for(int i=0;i<s.size();i++)
{
char c=s[i];
a=(int)c-48;
temp=temp*10+a;
if(i==s.size()-1)
{
total+=temp;
}
}
return total;
}
int tongchuso(int n)
{
int sotachra,s=0;
for(;n!=0;){
sotachra = n % 10;
s += sotachra;
n /= 10;
}
return s;
}
void checkdaucuoi(string a)
{
string b=a.substr(0,a.size()/2);
string c=a.substr(a.size()/2,a.size()/2);
if(tongchuso(strtti(b))==tongchuso(strtti(c))){
cout<<a;
}
}
int main()
{
int n;
cin>>n;
int arr[n];
for(int i=0;i<n;i++){
cin>>arr[i];
}
for(int i=0;i<n;i++){
if(logarit(arr[i])%2==0){
checkdaucuoi(to_string(arr[i]));
}
}
//samon247
return 0;
}