【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!

目录
打赏
0
0
0
0
8
分享
相关文章
StableIdentity:可插入图像/视频/3D生成,单张图即可变成超人,可直接与ControlNet配合使用
【2月更文挑战第17天】StableIdentity:可插入图像/视频/3D生成,单张图即可变成超人,可直接与ControlNet配合使用
508 2
StableIdentity:可插入图像/视频/3D生成,单张图即可变成超人,可直接与ControlNet配合使用
Quartz.Net整合NetCore3.1,部署到IIS服务器上后台定时Job不被调度的解决方案
解决Quartz.NET在.NET Core 3.1应用中部署到IIS服务器上不被调度的问题,通常需要综合考虑应用配置、IIS设置、日志分析等多个方面。采用上述策略,结合细致的测试和监控,可以有效地提高定时任务的稳定性和可靠性。在实施任何更改后,务必进行充分的测试,以验证问题是否得到解决,并监控生产环境的表现,确保长期稳定性。
484 1
MySQL 索引优化以及慢查询优化
通过本文的介绍,希望您能够深入理解MySQL索引优化和慢查询优化的方法,并在实际应用中灵活运用这些技术,提升数据库的整体性能。
658 7
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)
517 3
Java数据库部分(MySQL+JDBC)(二、JDBC超详细学习笔记)(上)
在Linux中,什么是端口扫描?如何使用工具如nmap进行端口扫描?
在Linux中,什么是端口扫描?如何使用工具如nmap进行端口扫描?
【Python自然语言处理+tkinter图形化界面】实现智能医疗客服问答机器人实战(附源码、数据集、演示 超详细)
【Python自然语言处理+tkinter图形化界面】实现智能医疗客服问答机器人实战(附源码、数据集、演示 超详细)
396 5
Kubernetes(K8s 1.27.x) 快速上手+实践,无废话纯享版
Kubernetes(K8s 1.27.x) 快速上手+实践,无废话纯享版
542 0
Brotli 研究实践
通过配置brotli压缩来提高http请求的压缩率,降低出口带宽,提升访问速度。
919 0
谈一谈JUnit神奇的报错 java.lang.Exception:No tests found matching
最近在学习Spring+SpringMVC+MyBatis,一个人的挖掘过程确实有点艰难,尤其是有一些神奇的报错让你会很蛋疼。特别是接触一些框架还是最新版本的时候,会因为版本问题出现很多错误,欢迎大家一起学习交流 这篇就说一下困扰我昨晚2小时的一个报错,nitializationError(org.junit.runner.manipulation.Filter)或者No tests found matching异常,查阅了很多资料,总结一下这些情况和解决办法。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等