【AcWing&&牛客】打表找规律

简介: 【AcWing&&牛客】打表找规律

目录

题目1

题目2

 

🍔🍔🍔🍔

题目1

1205. 买不到的数目 - AcWing题库

10.1.png这种题的解法特别妙

方法一(通法)

🏳️‍🌈🏳️‍🌈🏳️‍🌈🏳️‍🌈🏳️‍🌈🏳️‍🌈

打表找到规律

🏳️‍🌈🏳️‍🌈🏳️‍🌈🏳️‍🌈🏳️‍🌈🏳️‍🌈

打表

#include <iostream>
using namespace std;
//给定一个m,是否能用p和q凑出来
bool dfs(int m,int p,int q)
{
    if(m == 0) return true;
    if(m >= p && dfs(m - p,p,q)) return true;
    if(m >= q && dfs(m - q,p,q)) return true;
    return false;
}
int main()
{
    int p,q;
    cin >> p >> q;
    int res = 0;
    for(int i = 1; i <= 1000;i ++)
    {
        if(!dfs(i,p,q)) res = i;
    }
    cout << res << endl;
    return 0;
}

找规律

image.png

#include<iostream>
using namespace std;
int n,m;
int main()
{
    scanf("%d%d",&m,&n);
    printf("%d\n",(n-1)*m-n);
    return 0;
}

先用上面的代码试几个数,找到规律

方法二

参考:AcWing 1205. 超简洁代码+详解 - AcWing

10.2.png

#include<iostream>
using namespace std;
int n,m;
int main()
{
    scanf("%d%d",&n,&m);
    int k=n*m;
    while(k)
    {
        int t=k;
        while(t%m!=0&&t-n>0)t-=n;
        if(t%m!=0&&k%n!=0&&k%m!=0)//这一步就是判断了1、2、3 三个条件
          { 
              printf("%d",k);
              break;
          }
          k--;
    }

题目2

1002-小q的数列_2021秋季算法入门班第二章习题:递归、分治 (nowcoder.com)

10.3.png

打表找规律

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
0 1 1 2 1 2 2 3 1 2 2  3  2  3  3  4  1  2
pow(2,i)-1

代码

#include<iostream>
#include<cmath>
#define ll long long
using namespace std;
ll f(ll n){
  if(n==0){
    return 0;
  }
  else if(n==1){
    return 1;
  }
  else{
    return f(n/2)+f(n%2);
  }
}
int main(){
  ll a[70]={0};
  for(int i=0;i<=63;i++){
    a[i]=pow(2,i)-1;
  }
  int t;
  cin>>t;
  while(t--){
    ll n;
    cin>>n;
    cout<<f(n)<<" "<<a[f(n)]<<endl;
  }
  return 0;
}

Code over!

相关文章
|
人工智能 搜索推荐
StableIdentity:可插入图像/视频/3D生成,单张图即可变成超人,可直接与ControlNet配合使用
【2月更文挑战第17天】StableIdentity:可插入图像/视频/3D生成,单张图即可变成超人,可直接与ControlNet配合使用
569 2
StableIdentity:可插入图像/视频/3D生成,单张图即可变成超人,可直接与ControlNet配合使用
|
前端开发
antd中table组件中如何进行换行操作(react中)
antd中table组件中如何进行换行操作(react中)
antd中table组件中如何进行换行操作(react中)
|
监控 网络安全 调度
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
781 1
|
SQL Java 关系型数据库
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
583 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
|
自然语言处理 机器人 数据库
【Python自然语言处理+tkinter图形化界面】实现智能医疗客服问答机器人实战(附源码、数据集、演示 超详细)
【Python自然语言处理+tkinter图形化界面】实现智能医疗客服问答机器人实战(附源码、数据集、演示 超详细)
527 5
|
存储 Kubernetes 安全
Kubernetes 命令大全
Kubernetes 命令大全
304 1
|
传感器 算法 定位技术
技术心得记录:常用的滤波算法
技术心得记录:常用的滤波算法
585 0
Qt实现一个抽奖游戏
Qt实现一个抽奖游戏
263 0
|
Kubernetes NoSQL Java
Kubernetes(K8s 1.27.x) 快速上手+实践,无废话纯享版
Kubernetes(K8s 1.27.x) 快速上手+实践,无废话纯享版
701 0
|
XML Web App开发 前端开发
Brotli 研究实践
通过配置brotli压缩来提高http请求的压缩率,降低出口带宽,提升访问速度。
1151 0