哪位高手帮我解一道C++的题

来源:百度知道 编辑:UC知道 时间:2024/05/06 14:09:32
已知一个正整数的个位是6,把个位的6移到数的最前面,新数是旧数的4倍,编程求这个数。

#include <stdio.h>
void main(){
int i;
for (i=0;i<100000;i++)
if (600000+i==(10*i+6)*4) break;
printf ("%d=%d*4\n",600000+i,10*i+6);
}

当6移到最前时是一个数的4倍,可以断定该数的最高位大且只能是1,所以
#include <iostream.h>
void main()
{
int i,j,k,l;
for(i=0;i<=9;i++)
for(j=0;j<=9;j++)
for(k=0;k<=9;k++)
for(l=0;l<=9;l++)
{
int m=100000+i*10000+j*1000+k*100+l*10+6;
int n=600000+10000+i*1000+j*100+k*10+l;
if(n%m==0 && n/m==4)
cout<<m<<endl;
}
}
最后结果是153846