题目:求具有下列两个性质的最小自然数n:
(1)n的个位数是6;
(2)若将n的个位数移到其余各位数字之前,所得的新数是n的4倍。
源码
#include<stdio.h>
#include<math.h>
int main()
{
/*设 10x+6 是一个n位的正整数(n≥2) ,其中,x是一个n-1位的正整数,
则由题意,6×10^(n-1)+x=4(10x+6),
得 x=[6×10^(n-1)-24]/39=[2×10^(n-1)-8]/13
检验,当 n =6时,x有最小正整数解,即最小自然数 n=153846*/
int n;
int x; //x=[6×10^(n-1)-24]/39=[2×10^(n-1)-8]/13
int x1; // 设x1=[6×10^(n-1)-24]/39=[2×10^(n-1)-8] 则x1=13*x 则当x1可整除13时 则所求数为10x+6
for(n=2;;n++)
{
x1=(int)(2*pow(10,n-1)-8);
if(x1%13==0)
{
printf("这是个%d位数\n",n);
x=x1/13;
printf("这个数是%d",10*x+6);
break;
}
}
return 0;
}
运行结果