(高效算法)求具有下列两个性质的最小自然数n: (1)n的个位数是6;(2)若将n的个位数移到其余各位数字之前,所得的新数是n的4倍。

题目:求具有下列两个性质的最小自然数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;
}

运行结果

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WaitIKnowYou

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值