好久没发博了,今天发一篇。

这两天学校功课比较紧,编程稍微放了放做题量。

抽空学了学深搜,感谢zah同学给我讲解dfs,浅显易懂,我很快就适应了。

做了几个基础题,没有想象中那么难(菜鸡BB,因为题简单)

今天下午刷刷一本通题库,毕竟落了好多。

然后不愉快的事情发生了。。。

1151:素数个数

时间限制: 1000 ms         内存限制: 65536 KB
提交数: 20936     通过数: 11821

【题目描述】

编程求2~n(n为大于2的正整数)中有多少个素数。

【输入】

输入n(2≤n≤50000)。

【输出】

素数个数。

【输入样例】

10

【输出样例】

4

这个题卡了我半小时。。。然后到现在我也不知道我为啥卡了。
我感觉我的代码没啥毛病啊?莫名其妙就全红。然后从网上扒题解,试运行了几组数(从3到50000随便选的),
发现我的程序和大佬题解程序给的答案一样啊?不知道为啥。。。(请求大佬帮忙解决)
上我的全红代码

//1151
#include<bits/stdc++.h>
using namespace std;
bool prime (int n)
{
int p=0;
for (int i=2;i<=sqrt(n);i++)
{
if(n%i==0) p++;
}
if(p==0) return true;
}
int main()
{
int a,num=0;
cin>>a;
for (int j=2;j<=a;j++)
{
if (prime(j)==1) num++;
}
cout<<num;
return 0;
}

上大佬代码

#include<iostream>
#include<cmath>
using namespace std;
bool judge(int x);
int main()
{
int n;
int i;
int sum=0;

cin>>n;
for(i=2; i<=n; i++)
if(judge(i))
sum++;
cout<<sum<<endl;

return 0;
}
bool judge(int x)
{
int i=2;
while(i<=floor(sqrt(x))&&(x%i)!=0)
i++;
if(i>floor(sqrt(x)))
return true;
return false;
}

这是从CSDN上一位大佬那抄的,(叫啥我忘了)反正侵权删。。。
请nb的大佬帮忙解决一下我的小问题。。。
今晚有个小考试。
有一个题是这样的

35.设有一个共有n级的楼梯,某人每步可走1级,也可走2级,也可走3
级,用递推公式给出某人从底层开始走完全部楼梯的走法。例如:当
n=3时,共有4种走法,即1+1+1,1+2, 2+1,3。
求解:用递推公式给出某人从底层开始走完全部楼梯的走法为(用
F (N)记录不同方案数):
F(1)=1、F(2)=2、F(3)-4,当N≥4则F(N)=
A
[每空5分]
A考生答案:F(N-1)+F(N-2)+F(N-3)
该空得分:0
参考答案: F(N-3)+F(N-2)+F(N-1)
得分(总):

我要纠错
我一看,这个题感觉可以搜索攻略。。。

然后按耐不住自己的小手。。

上代码

#include<bits/stdc++.h>
using namespace std;
int way=0;
void dfs(int n,int step)
{
if (step>n)
{
return;
}
if (step==n)
{
way++;
return;
}
else
{
dfs(n,step+1);
dfs(n,step+2);
dfs(n,step+3);
}
}
int main()
{
int a;
cin>>a;
dfs(a,0);
cout<<way;
return 0;
}

然后我把N=4到N=10试了一遍

成功找出了答案,当时我感觉我好机智(智障)

居然用编程解决了我平常可能会想到大脑抽筋的数学题!!!

满满的成就感

赶紧向我认识的大佬炫耀一波(你看,小弟我nb不?)

然后他说这个是动态规划(dp);

你用dfs做出来属于巧合。。。。

我。。。。

最要命的是红字部分。。。

我看着那个零分,流下了动感的泪水......

五分钟后“我要纠错”就被我按爆炸了。

(如果于勒竟也在看我的博文,那该多叫人高兴啊!)

发表于(2020/2/13 零时二分)

这样算我在讲昨天的事。。。Amazing!!!

 
 
 

日记——递归or搜索?的更多相关文章

  1. python 递归深度优先搜索与广度优先搜索算法模拟实现

    一.递归原理小案例分析 (1)# 概述 递归:即一个函数调用了自身,即实现了递归 凡是循环能做到的事,递归一般都能做到! (2)# 写递归的过程 1.写出临界条件2.找出这一次和上一次关系3.假设当前 ...

  2. 递归——深度优先搜索(DFS)——以滑雪问题为例(自顶而下)

    一.问题:滑雪 问题描述:小明喜欢滑雪,为了获得速度,滑的区域必须向下倾斜,而且当你滑到坡底,你不得不再次走上坡或者等待升降机来载你.小明想知道在一个区域中最长底滑坡.区域由一个二维数组给出.数组的每 ...

  3. [ C语言 ] 迷宫 迷宫生成器 [ 递归与搜索 ]

    [原创]转载请注明出处 [浙江大学 程序设计专题] [地图求解器] 本题目要求输入一个迷宫地图,输出从起点到终点的路线. 基本思路是从起点(Sx,Sy)每次枚举该格子上下左右四个方向,直到走到终点(T ...

  4. UVALive 4864 Bit Counting --记忆化搜索 / 数位DP?

    题目链接: 题目链接 题意:如果一个数二进制n有k位1,那么f1[n] = k,如果k有s位二进制1,那么f2[n] = f1[k] = s.  如此往复,直到fx[n] = 1,此时的x就是n的”K ...

  5. 实现远程FTP特定时间轨道号MODIS数据的搜索

    private ArrayList alst = new System.Collections.ArrayList();//建立ArrayList对象 int strLength = 0; strin ...

  6. CJOJ 2022 【一本通】简单的背包问题(搜索)

    CJOJ 2022 [一本通]简单的背包问题(搜索) Description 设有一个背包可以放入的物品重量为S,现有n件物品,重量分别是w1,w2,w3,-wn. 问能否从这n件物品中选择若干件放入 ...

  7. DFS回溯-函数递归-xiaoz triangles

    题目:小z 的三角形 ★实验任务 三角形的第1 行有n 个由"+"和"-"组成的符号,以后每行符 号比上行少1 个,2 个同号下面是"+", ...

  8. 深度优先搜索 & 广度优先搜索

    目录 邻接表 邻接表的深度优先搜索 邻接表的广度优先搜索 临接数组 临接数组的深度优先搜索 临接数组的广度优先搜索 二叉树 二叉树的深度优先搜索 二叉树的广度优先搜索 邻接表 邻接表的深度优先搜索 假 ...

  9. AcWing 92. 递归实现指数型枚举

    题目链接:https://www.acwing.com/problem/content/description/94/ 题意:从 n 个数中选取数字,输出所有的选取可能 idea:枚举所有取数可能,就 ...

随机推荐

  1. java大数据最全课程学习笔记(6)--MapReduce精通(二)--MapReduce框架原理

    目前CSDN,博客园,简书同步发表中,更多精彩欢迎访问我的gitee pages 目录 MapReduce精通(二) MapReduce框架原理 MapReduce工作流程 InputFormat数据 ...

  2. Dart语言之 异步支持

    Dart类库有非常多的返回Future或者Stream对象的函数. 这些函数被称为异步函数:它们只会在设置好一些耗时操作之后返回,比如像 IO操作.而不是等到这个操作完成. async和await关键 ...

  3. js判断字符串中是否包含特殊字符、中文

    /** * @author:xc * @desc: 特殊字符校验 除了下划线 */ containSpecial(str) { var containSpecial = RegExp( /[(\ )( ...

  4. MySQL 8.0.20 安装教程图文详解(windows 64位)

    MySQL 8.0.20 安装教程图文详解(windows 64位)  更新时间:2020年05月09日 15:09:04   转载 作者:瘦肉粥不加糖     这篇文章主要介绍了MySQL 8.0. ...

  5. 自定义bind

    Function.prototype.mybind = function (context, ...args1) { // 判断是否为函数 if (typeof this !== 'function' ...

  6. java并发包提供的三种常用并发队列实现

    java并发包中提供了三个常用的并发队列实现,分别是:ConcurrentLinkedQueue.LinkedBlockingQueue和ArrayBlockingQueue. ConcurrentL ...

  7. [转]jquery如何判断checkbox(复选框)是否被选中,至少被选中一个

    谁都知道 在html 如果一个复选框被选中 是 checked="checked". 但是我们如果用jquery alert($("#id").attr(&qu ...

  8. luogu P4798 [CEOI2015 Day1]卡尔文球锦标赛 dp 数位dp

    LINK:卡尔文球锦标赛 可以先思考一下合法的序列长什么样子. 可以发现后面的选手可以使用前面出现的编号也可以直接自己新建一个队. 其实有在任意时刻i 序列的mex>max.即要其前缀子序列中1 ...

  9. CF掉分日记 6.6 6.8

    ---恢复内容开始--- 写的效果依旧不好 还没写完前四题比赛就结束了 而且这些普及组的题目 我大多还是缺少简单算法的灵性 总是把问题搞复杂化. 6.5 A 第一道题非常水 简单分析发现是一个快速幂的 ...

  10. linux学习笔记之makefile

    首先 make时工程管理器 而makefile则是make唯一的配置文件,当我们需要使用make管理工程时,我们需要建立一个makefile文件 简单点说,makefile是把我们所要编译的c文件结合 ...