【求助】关于sqrt(n)与n / 2
  • 板块灌水区
  • 楼主小小小蒟蒻
  • 当前回复21
  • 已保存回复21
  • 发布时间2021/9/5 22:37
  • 上次更新2023/11/4 07:36:08
查看原帖
【求助】关于sqrt(n)与n / 2
333990
小小小蒟蒻楼主2021/9/5 22:37

大家好,我是一个天天%&的蒟蒻。(%&是膜与,摸鱼的意思)

问题:为什么判断质数时从 22 循环到 sqrt(n)sqrt(n) 就可以了,但是求因数要循环到 n/2n / 2 呢?

可能我描述得不是很清楚,故贴上以下代码:

for(int i = 2;i <= sqrt(x);i++){
	if(x % i == 0)
    		return 0;
}

(质数判断)

for (int i = 1; i <= n; ++i) {
        if (n % i == 0) {
            char c = st[i - 1];
            if (c >= 'a')
                st[i - 1] = c - 'a' + 'A';
        }
    }

CSP-J 2019 T16 这题下面的判断题为:

若将第8行的“i <= n”改为“i * i <= n”,程序运行结果不会改变。(×)

ii<=ni * i <= n 就是 i<=sqrt(n)i <= sqrt(n)。这个判断应该选错。

请问有没有人说说区别在哪里?解释一下为啥质数的是 sqrtsqrt 呢?


最近本人爷爷身体不太好,我也不在老家读书,所以也不能直接照顾到他。他现在食欲也不太好,我们都担心他会病情加重。我父母现在在家里十分焦虑,又要关注我的学习,还要回老家照顾爷爷。我也是很纠结,又有whk,又有OI,还要关心照顾爷爷,这鱼和熊掌也不可兼得。

也不知道爷爷还能与我们在一起多少时日。大家都希望他好起来,毕竟生活在病痛中确实是一种煎熬与折磨。谁能说个方法,让我爷爷快点好起来,别再承受度日如年、万分痛苦的折磨呢……

2021/9/5 22:37
加载中...