kiem tien, kiem tien online, kiem tien truc tuyen, kiem tien tren mang
Friday, November 11, 2011

SUU TAM




Petya yêu thích các số may mắn. Ta biết rằng một số là số may mắn nếu biểu diễn thập phân của nó chỉ chứa các chữ số may mắn là 4 và 7. 
Ví dụ, các số 47, 744, 4 là số may mắn và 5, 17, 467 không phải.
Petya muốn tìm số may mắn bé nhất có tổng các chữ số bằng n. Hãy giúp anh ấy.
Input
Một dòng chứa số nguyên n (1 ≤ n ≤ 106) — tổng các chữ số của số may mắn cần tìm.
Output
In ra trên 1 dòng số may mắn bé nhất, mà tổng các chữ số bằng n. Nếu không tồn tại số thỏa mãn, in ra -1.
Ví dụ:
Input
11
Output
47

Input
10
Output
-1



#include<iostream>

using namespace std;

void test( long n)
{
long x,y; // day do co x so 7 va y so 4
long sum =0; // sum = 7x + 4y;
x = n/7;
y = n/4;
for( int i = x; i>=0;i--)
for( int j =0;j<= y;j++)
{
sum = 7*i + 4*j;
if( sum < n)continue;
else
{
if( sum > n)break;

else
{
while( j>0){cout<< 4;j--;}
while( i>0){cout<<7;i--;}
return ;

}
}
}

cout<< -1;

}



int main()
{
long n;

cin >> n;
test(n);

//system("pause");
return 0;

}




0 comments:

Post a Comment

domain, domain name, premium domain name for sales

Popular Posts