数根 nyoj 424 和 485

原创 2012年03月22日 16:29:37

给出一个数n,求n^n的数根,数根即各位数字之和,如果这个和不是一位数,继续求这个数的各位数字之和,直到为一位数为止。

现在分析一个问题,假设将十位数为a,个位数为b的一个整数表示为ab,则推导得

ab*ab = (a*10+b)*(a*10+b) = 100*a*a+10*2*a*b+b*b
根据上式可得:root(ab*ab) = a*a+2*a*b+b*b = (a+b)*(a+b);[公式一] 
同理也可证得:root(ab*ab*ab) = (a+b)*(a+b)*(a+b);[公式二] 
可以看出,N个相同整数的乘积总值的树根 = 每一项元素的树根的乘积

再设另外一个整数cd,且cd!=ab
ab*cd = (a*10+b)*(c*10+d) = 100*a*c+10*(a*d+b*c)+b*d
根据上式可得:root(ab*cd) = a*c+a*d+b*c+b*d = (a+b)*(c+d);[公式三] 
可见,对于两个不相同整数也成立。

最后将上面证得的结果一般化:

N个整数的乘积总值的数根 = 每个项元素的数根的乘积 

因为ab*ab=(10*a+b)*(10*a+b)=100*a*a+10*2*a*b+b*b=a*a+2*a*b+b*b=(a+b)*(a+b)

abc*abc=(100*a+10*b+c)*(100*a+10*b+c)

               =10000*a*a+2000*a*b+100*b*b+200*a*c+20*b*c+c*c

               =a*a+2*a*b+b*b+2*a*c+2*b*c+c*c

               =(a+b)^2+2*c*(a+b)+c*c

              = (a+b+c)*(a+b+c)

同理可以知道四位数,五位数也一样,

即n*n的数根=n的数根*n的数根


某大牛的代码:

#include <stdio.h>
int main()
{
int i,m,n;
while(scanf("%d",&n)&&n)
{
   m=1;
   for(i=0;i<n;i++)
   {
    m=m*n;
    m=m%9==0?9:m%9;
   }
   printf("%d\n",m);
}
return 0;
}

还有一个更牛的代码:

#include <stdio.h>
int main()
{
int n;
char s[20]="914942971915947978";
while(scanf("%d",&n)&&n)
{
   printf("%c\n",s[n%18]);
}
return 0;
}


uva424高精度

Integer Inquiry One of the first users of BIT's new supercomputer was Chip Diller. Heextended his ex...
  • katydid3018
  • katydid3018
  • 2015年09月11日 21:33
  • 144

Stm32RS485串口通信——中断接收发送数据

main.c源码: /* *说明: *PA0:KEY1;PA1:KEY2; *PA2:LED1;PA3:LED2; *PA9:USART1_TX;PA10:USART1_RX */ #include...
  • heirenheiren
  • heirenheiren
  • 2014年11月18日 13:25
  • 16318

硬件切换485电路

485接口具有很好的抗噪音抗干扰、长距离传输和多站能力特性,使其为工控行业首选串行接口。485规定的电气特性为2线,半双工多点通信。它的电气特性是有线缆两端的电压差来决定的。由于半双工模式,通讯时需要...
  • sternlycore
  • sternlycore
  • 2016年04月17日 15:35
  • 7453

stm32通过485接串口做IAP

在做一个工程测量的项目,由于探头要下放到100米深,因此采用了走485差分信号的方式来提高传输距离和增强抗干扰能力,为了防止出问题时一遍一遍的拆开设备,所以决定通过预留出来的485的A,B线来进行固件...
  • xiaobai20131
  • xiaobai20131
  • 2016年03月14日 21:53
  • 2301

51单片机串口2的RS485通信调试总结

过完年,一到公司主管就催我赶紧把这个项目的PC和单片机的RS485通信给调通。这几天,一直在实验室度过的。开始我从单片机简单发送一串数据,用串口调试助手测试。上位机根本没有接收到数据,用示波器测了发送...
  • king110108
  • king110108
  • 2016年02月25日 14:29
  • 2707

RS485 硬件自收发切换的实现

介绍RS485 硬件自收发切换的电路及实现原理
  • electrocrazy
  • electrocrazy
  • 2017年05月17日 09:30
  • 3449

NYOJ 220 推桌子(贪心)

推桌子 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述The famous ACM (Advanced Computer Maker) Company ...
  • Dreamlandz
  • Dreamlandz
  • 2016年11月02日 21:09
  • 544

UART和RS232/RS485的关系是什么?

http://wpp9977777.blog.163.com/blog/static/4625100720138411281980/      串口通讯是电子工程师和嵌入式开发工程师面对的最基本问题...
  • android_lover2014
  • android_lover2014
  • 2017年01月02日 21:51
  • 2881

RS485波特率问题

最近再做一个项目,发现485不能正常发送数据,感到非常奇怪!后来查阅相关资料才发现可能是   485波特率设置过高(我设置的485波特率是115200)!  后来把波特率改小一点,改成9600 ,结果...
  • qq_26093511
  • qq_26093511
  • 2016年06月15日 17:02
  • 5357

NYOJ1063_生活的烦恼

描述 生活的暑假刚集训开始,他要决心学好字典树,二叉树,线段树和各种树,但生活在OJ上刷题的时候就遇到了一个特别烦恼的问题。那当然就是他最喜欢的二二叉树咯!题目是这样的:给你一颗非空的二叉树,然...
  • S031302306
  • S031302306
  • 2016年07月06日 10:40
  • 379
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:数根 nyoj 424 和 485
举报原因:
原因补充:

(最多只允许输入30个字)