欧拉计划

欧拉计划

  • 1
    10以下的自然数中,属于3和5的倍数的有3,5,6和9,它们之和是23.
    找出1000以下的自然数中,属于3和5的倍数的数字之和。
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
#define N 1000
int main()
{
    long long ans=0;
    long long l=(3+(N-1)/3*3)*((N-1)/3)/2;
    ans+=l;
    l=(5+(N-1)/5*5)*((N-1)/5)/2;
    ans+=l;
    l=(15+(N-1)/15*15)*((N-1)/15)/2;
    ans-=l;
    printf("%lld\n",ans);
    return 0;
}

  • 2
    斐波那契数列中的每一项被定义为前两项之和。从 1 和 2 开始,斐波那契数列的前十项为:
    1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …
    考虑斐波那契数列中数值不超过 4 百万的项,找出这些项中值为偶数的项之和。
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
/*
斐波那契数列中的每一个新项都是通过将前两项相加而生成的。从1和2开始,前10个术语将是:
1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ...
通过考虑斐波那契数列中值不超过400万的项,求偶数项之和。
*/
int main()
{
    long long ans=2,a=1,b=2,c=0;
    while(b<=4000000)
    {
        c=b;
        b=a+b;
        a=c;
        //printf("%lld %lld %lld %lld\n",i,a,b,c);
        if(b%2==0)ans+=b;
    }
    printf("%lld\n",ans);
    return 0;
}

  • 3
    最大质因数
    思路:从i=2开始除去所有因数,直到n=i
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
/*
13195的质数因子有5,7,13和29.
600851475143的最大质数因子是多少?
*/
void fun(long long n)
{
    long long i=2,ans=n;
    while(i<n)
    {
        if(n%i==0)n=n/i;
        else {i++;ans=n;}
    }ans=n;
    printf("%d\n",ans);
}
int main()
{
    long long n;
    while(scanf("%lld",&n)!=-1)
    fun(n);
    return 0;
}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值