#include<stdio.h>
// 原理:定义四个数组用来存放亏的时候未变数字,亏了数,赚了未变数,亏了为变数;
//然后遍历数组 两数之差为558即可
//
int a,b,c,d;
int zhuan[50],kui[50],yuankui[50],yuanzhuan[50];
//然后遍历数组 两数之差为558即可
//
int a,b,c,d;
int zhuan[50],kui[50],yuankui[50],yuanzhuan[50];
main()
{ int cnt1,cnt2;
cnt1=cnt2=0;
for(int i=1002;i<=9998;i++)
{
a=i/1000;
b=i/100%10;
c=i/10%10;
d=i%10;
if(a==3||a==4||a==7) continue;
if(b==3||b==4||b==7) continue;
if(c==3||c==4||c==7) continue;
if(d==3||d==4||d==7) continue;
if(a==6)a=9;else if(a==9)a=6;
if(b==6)b=9;else if(b==9)b=6;
if(c==6)c=9;else if(c==9)c=6;
if(d==6)d=9;else if(d==9)d=6;
int t=d*1000+c*100+b*10+a;//颠倒之后的数
if(t>1000&&t<i&&i-t>200&&i-t<300)
{
yuankui[cnt1]=i;//存放在数组中
kui[cnt1++]=t-i;
}
if(t>1000&&t>i&&t-i>800&&t-i<900)
{ yuanzhuan[cnt1]=i;
zhuan[cnt2++]=t-i;
}
for(int i=0;i<cnt1;i++)//遍历数组找出满足条件的
for(int j=0;j<cnt2;j++)
if(kui[i]+zhuan[j]==558)
{printf("%原来亏未变数%d 亏%d 原来赚未变数%d 赚了%d\n",yuankui[i],kui[i],yuanzhuan[j],zhuan[j]);
}
}
return 0;
}
{ int cnt1,cnt2;
cnt1=cnt2=0;
for(int i=1002;i<=9998;i++)
{
a=i/1000;
b=i/100%10;
c=i/10%10;
d=i%10;
if(a==3||a==4||a==7) continue;
if(b==3||b==4||b==7) continue;
if(c==3||c==4||c==7) continue;
if(d==3||d==4||d==7) continue;
if(a==6)a=9;else if(a==9)a=6;
if(b==6)b=9;else if(b==9)b=6;
if(c==6)c=9;else if(c==9)c=6;
if(d==6)d=9;else if(d==9)d=6;
int t=d*1000+c*100+b*10+a;//颠倒之后的数
if(t>1000&&t<i&&i-t>200&&i-t<300)
{
yuankui[cnt1]=i;//存放在数组中
kui[cnt1++]=t-i;
}
if(t>1000&&t>i&&t-i>800&&t-i<900)
{ yuanzhuan[cnt1]=i;
zhuan[cnt2++]=t-i;
}
for(int i=0;i<cnt1;i++)//遍历数组找出满足条件的
for(int j=0;j<cnt2;j++)
if(kui[i]+zhuan[j]==558)
{printf("%原来亏未变数%d 亏%d 原来赚未变数%d 赚了%d\n",yuankui[i],kui[i],yuanzhuan[j],zhuan[j]);
}
}
return 0;
}