在第一位和第二位数之间加一个8
再在第一位之前家一个2
得到的数就是原来的数的81倍
求这个6位数
我同学问我的一个题
我试着写了一个程序
用了N个循环
可是还是没能解出来
哪位高人看看
用什么思路来解啊```
我用穷举法没解出来
28x8xxxxx=81*xxxxxx
???????是不是这样
我怎么可以呢?282500吧?
#include<stdio.h>
main()
{ long int i,num1,num2,num;
for(i=100000;i<999999;i++)
{
num1=i/100000;
num2=i-num1*100000;
num=num1*1000000+20000000+800000+num2;
if(num==i*81)
printf("%ld\n",i);
}
getch();
}
#include "stdio.h"
main()
{
long temp,i;
for(i=100000;i<1000000;i++)
{
temp=(int)(i/100000)*1000000+i%100000+8*100000;
temp+=2*10000000;
if(temp==81*i)
printf("%ld %ld ",i,temp);
}
getch();
}
其实都一样,循环的次数都一样的。
请大家帮忙看下这个程序,有啥问题呢?为什么就是不能出来结果呢?
#include "stdio.h"
main()
{
int a,b,c,d,e,f;
for(a=1;a<10;a++)
for(b=0;b<10;b++)
for(c=0;c<10;c++)
for(d=0;d<10;d++)
for(e=0;e<10;e++)
for(f=0;f<10;f++)
{
if((a*100000+b*10000+c*1000+d*100+e*10+f)*81==(2*10000000+a*1000000+8*100000+b*10000+c*1000+d*100+e*10+f))
printf("%d%d%d%d%d%d",a,b,c,d,e,f);
}
getch();
}