0
点赞
收藏
分享

微信扫一扫

2020牛客寒假算法基础集训营2——E.做计数【推公式】


​​题目传送门​​

题目描述

这一天,牛牛与 牛魔王相遇了――然而这并不在 牛牛期望之中。
牛魔王不出意料又给 牛牛一道看似很难的题目:求有多少个不同的正整数三元组 2020牛客寒假算法基础集训营2——E.做计数【推公式】_完全平方数 满足 2020牛客寒假算法基础集训营2——E.做计数【推公式】_三元组_02 ,且 2020牛客寒假算法基础集训营2——E.做计数【推公式】_时间复杂度_03
牛牛并不会做,你能略施援手吗?
当两个三元组 2020牛客寒假算法基础集训营2——E.做计数【推公式】_完全平方数_04 满足 2020牛客寒假算法基础集训营2——E.做计数【推公式】_三元组_052020牛客寒假算法基础集训营2——E.做计数【推公式】_三元组_062020牛客寒假算法基础集训营2——E.做计数【推公式】_三元组_07

输入描述:

第一行,一个正整数 n。

保证 2020牛客寒假算法基础集训营2——E.做计数【推公式】_完全平方数_08

输出描述:

输出一行,一个整数表示答案。

输入

1

输出

1

说明

(1,1,4)

题解

  • 两边平方,得2020牛客寒假算法基础集训营2——E.做计数【推公式】_三元组_09,显然仅当 i,ji,j 都是整数且 2020牛客寒假算法基础集训营2——E.做计数【推公式】_三元组_10 为完全平方数时才会对应一个符合条件的 2020牛客寒假算法基础集训营2——E.做计数【推公式】_时间复杂度_11
  • 枚举2020牛客寒假算法基础集训营2——E.做计数【推公式】_三元组_12中所有的完全平方数(完全平方数可以表示为 2020牛客寒假算法基础集训营2——E.做计数【推公式】_三元组_13,只需要枚举 2020牛客寒假算法基础集训营2——E.做计数【推公式】_三元组_14
  • 2020牛客寒假算法基础集训营2——E.做计数【推公式】_三元组_15 枚举完全平方数 2020牛客寒假算法基础集训营2——E.做计数【推公式】_三元组_15 枚举因数,时间复杂度 2020牛客寒假算法基础集训营2——E.做计数【推公式】_时间复杂度_17

AC-Code

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;

int main() {
int n; cin >> n; ll ans = 0;
for (int i = 1; i * i <= n; ++i) {
int num = 0;
for (int j = 1; j <= i; ++j)
if (i * i % j == 0) ans += 2;
--ans;
}
cout << ans << endl;
}


举报

相关推荐

0 条评论