2022-2-20

有关大数的填空题

选Python比较简单

斐波那契gcd一个结论

gcd(f[n],f[m])=f[gcd(n,m)] :f表示斐波那契数列

跑步锻炼

题目描述

正常情况下,小蓝每天跑 1 千米。如果某天是周一或者月初(1 日),为了激励自己,小蓝要跑 2 千米。如果同时是周一或月初,小蓝也是跑 2 千米。

小蓝跑步已经坚持了很长时间,从 2000 年 1 月 1 日周六(含)到 2020 年 10 月 1 日周四(含)。请问这段时间小蓝总共跑步多少千米?  8879

Excel方法:

新建Excel表:第一列日期2000/1/1开始(表格变窄后开始下拉(快))==》第二列星期数(函数中的其他函数中的时间和日期中WEEKDAY函数)==》第三列判断1号或周一(函数中的逻辑函数中的OR)==》第四列公里数)==》选中后三列缩小后下拉==》最后全选最后一列(

代码方法:

#include <iostream>
using namespace std;

bool isLeap(int y){
    return (y%4==0&&y%100!=0)||(y%400==0);
}
int main()
{
    int month[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//每个月天数
    int ans=0,week=0;//1号(周6)开始计算星期几
    for(int i=2000;i<=2020;i++){
        if(isLeap(i)) month[2]=29;//闰年2月29天
        else month[2]=28;//每循环一年都需要判断一次!!!
        for(int m=1;m<=12;m++){
            if(i==2020&&m==10) break;
            for(int d=1;d<=month[m];d++){
                int xq=(week+6)%7;//计算星期几
                if(xq==1||d==1) ans+=2;//周一或月初
                else ans++;
                week++;
            }
        }
    }
    cout<<ans+2<<endl;//加上2020/10/1号
    return 0;
}

关于日期问题

首先判断闰年:(y%4==0&&y%100!=0)||(y%400==0)

每个月的天数:1,3,5,7,8,10,12(腊)31天永不差,闰年2月29天,非润28天,其余每月30天

星期判断:从已知开始的周几开始基础上++后,%7判断

质数

题目描述

我们知道第一个质数是 2、第二个质数是 3、第三个质数是 5……

请你计算第 2019 个质数是多少?

代码:

 注意:!!!while循环中i++如果在下面,最后答案应为i-1!!!

#include <iostream>
#include <cmath>
using namespace std;

bool isPrime(int n){
    for(int i=2;i<=sqrt(n);i++){
        if(n%i==0) return false;
    }
    return true;
}
int main()
{
    int cnt=1,i=2;
    while(cnt<2019){
        i++;
        if(isPrime(i)) cnt++;
    }
    cout<<i<<endl;
    // int cnt=0,i=2;
    // while(cnt<2019){
    //     if(isPrime(i)) cnt++;
    //     i++;
    // }
    // cout<<i-1<<endl;
    return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值