C语言 程序哪里出错??
给一个整数n,问所有位上的数字的和为n的仅由3和8组成的最小的数字是什么input
输入有多组,每组有一行。包含一个整数n(1<=n<=1000,000)
output
每组输出有一行满足条件的最小的整数,如果没有满足条件的整数就输出-1
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int n;
while(scanf("%d",&n)!=EOF)
{
int x,y,i,j,s=0,a,b;
3*x+8*y==n;
if(x%1==0&&y%1==0)
{
for(i=0;i<y;i++)
{
a=pow(10,i);
s=s+8*a;
}
for(j=y;j<y+x;j++)
{
b=pow(10,j);
s=s+3*b;
}
printf("%d",s);
}
else
printf("-1");
}
return 0;
}