打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Luogu P6685 可持久化动态仙人掌的直径问题

题目背景

这是一道签到题,别被这个标题吓着……

题目描述

给定n,mn,m,求有多少个正整数xx,使得xm≤nxm≤n 。

输入格式

一行两个正整数n,mn,m 。

输出格式

一个整数表示正整数xx的个数。

思路

1.数学方法

由于题目要求xm≤nxm≤n,我们把这个式子的两边分别开mm次方,得到x≤n−−√mx≤nm 。

这里需要一个概念,就是关于一个整数的分数次方的计算方法,即amn=am−−−√namn=amn 。

该条结论可用于此题,即n−−√m=n1mnm=n1m 。所以此题只要输出n1mn1m即可。这个任务可以用cmathcmath库中的powpow函数完成。

  1. #include<iostream>
  2. #include<cstdio>
  3. #include<algorithm>
  4. #include<cstring>
  5. #include<cmath>
  6. int n, m;
  7. inline int read(void){
  8. int f = 1, x = 0;char ch;
  9. do{ch = getchar();if(ch=='-')f = -1;} while (ch < '0' || ch > '9');
  10. do{ x = x * 10 + ch - '0';ch = getchar();} while (ch >= '0' && ch <= '9');
  11. return f * x;
  12. }
  13. int main(){
  14. n = read(), m = read();
  15. printf("%d\n", (int)std::pow(n,(double)1/m));
  16. return 0;
  17. }
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
c++正整数因式分解
7-4 最大公约数和最小公倍数 (20分) 本题要求两个给定正整数的最大公约数和最小公倍数。
华为机试HJ108:求最小公倍数
pat1050乙螺旋矩阵
C语言期中考试试题A标准答案
C语言练习题精选
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服