(1). 斐波那契数列中的每一项被定义为前两项之和。从1和2开始,斐波那契数列的前十项为:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
考虑斐波那契数列中数值不超过4百万的项,找出这些项中值为偶数的项之和。
(提示:可能用到的函数,用法请自行参照帮助文档:EvenQ,Fibonacci,Total,Sum)
(2). 一个回文数指的是从左向右和从右向左读都一样的数字。最大的由两个两位数乘积构成的回文数是9009 = 91 * 99.
找出最大的有由个三位数乘积构成的回文数。(提示:可能用到的函数,用法请自行参照帮助文档:Reverse,Select,IntegerDigits,Select,Outer)
(3). 2520 是最小的能被1 - 10 中每个数字整除的正整数。最小的能被1 - 20 中每个数整除的正整数是多少?
mathmatic问题 编程问题,麻烦提供代码,能做出来多少算多少
答案:1 悬赏:50 手机版
解决时间 2021-01-03 20:30
- 提问者网友:辞取
- 2021-01-03 00:27
最佳答案
- 五星知识达人网友:西岸风
- 2021-01-03 01:18
#include
#include
int palindrome(int number)
{
int reverse=0,temp=number;
while(temp)
{
reverse=reverse*10+temp%10;
temp=temp/10;
}
return number==reverse?1:0;
}
int Dig3Mul(int number)
{
int counter;
for (counter=100;counter<1000;++counter)
if( (number%counter)==0 && number/counter>=100 &&number/counter<1000)
{
printf("%d=%d*%d\n",number,counter,number/counter);
return 1;
}
return 0;
}
int GetPal()
{
int counter=999999;
while(counter--)
if(palindrome(counter) && Dig3Mul(counter))
return counter;
return 0;
}
int Fibonacci(number)
{
int prv=1,next=2,sum=3,ret=2;
while(sum
{
prv=next;
next=sum;
sum=prv+next;
if(sum%2==0 && sum
ret+=sum;
}
return ret;
}
int gcd(int x, int y)
{
if(x%y==0)
return y;
else
return(gcd(y,x%y));
}
int lcm(int x, int y)
{
return x*y/gcd(x,y);
}
int lcm_n(int number)
{
int counter =1;
int ret=1;
while(counter
ret=lcm(ret,counter++)
return ret;
}
int main()
{
printf("最大的由两个三位数乘积构成的回文数:%d\n",GetPal());
printf("斐波那契数列中数值不超过4000000值为偶数的项之和:%d\n",Fibonacci(4000000));
printf("最小的能被1 - 20 中每个数整除的正整数是:%d\n",lcm_n(20));
return 0;
}
#include
int palindrome(int number)
{
int reverse=0,temp=number;
while(temp)
{
reverse=reverse*10+temp%10;
temp=temp/10;
}
return number==reverse?1:0;
}
int Dig3Mul(int number)
{
int counter;
for (counter=100;counter<1000;++counter)
if( (number%counter)==0 && number/counter>=100 &&number/counter<1000)
{
printf("%d=%d*%d\n",number,counter,number/counter);
return 1;
}
return 0;
}
int GetPal()
{
int counter=999999;
while(counter--)
if(palindrome(counter) && Dig3Mul(counter))
return counter;
return 0;
}
int Fibonacci(number)
{
int prv=1,next=2,sum=3,ret=2;
while(sum
prv=next;
next=sum;
sum=prv+next;
if(sum%2==0 && sum
}
return ret;
}
int gcd(int x, int y)
{
if(x%y==0)
return y;
else
return(gcd(y,x%y));
}
int lcm(int x, int y)
{
return x*y/gcd(x,y);
}
int lcm_n(int number)
{
int counter =1;
int ret=1;
while(counter
return ret;
}
int main()
{
printf("最大的由两个三位数乘积构成的回文数:%d\n",GetPal());
printf("斐波那契数列中数值不超过4000000值为偶数的项之和:%d\n",Fibonacci(4000000));
printf("最小的能被1 - 20 中每个数整除的正整数是:%d\n",lcm_n(20));
return 0;
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯