【问题描述】 给定数列 1, 1, 1, 3, 5, 9, 17, …,从第 4 项开始,每项都是前 3 项的和。求 第 20190324 项的最后 4 位数字。
网友思路:题目本身并不难,只是数的范围很大,直接相加还会溢出,结果只要后四位,每次循环取余即可,反正加法高位也不会影响低位;直接for循环也出不来,可以考虑把循环次数减少为原来的三分之一
int leftNum(int x)
{
int newNum=0;
newNum+=x%10;
x=x/10
【问题描述】 给定数列 1, 1, 1, 3, 5, 9, 17, …,从第 4 项开始,每项都是前 3 项的和。求 第 20190324 项的最后 4 位数字。
网友思路:题目本身并不难,只是数的范围很大,直接相加还会溢出,结果只要后四位,每次循环取余即可,反正加法高位也不会影响低位;直接for循环也出不来,可以考虑把循环次数减少为原来的三分之一
int leftNum(int x)
{
int newNum=0;
newNum+=x%10;
x=x/10