木仙花数

题目描述:

定义木仙花数为满足以下条件的数:

假设正整数 x 为木仙花数,当且仅当存在一个小于等于 x 的正整数 y 使得 floor(x/y)=y 。floor表示往下取整。

给定正整数 n ,求小于等于 n 的木仙花数个数。

输入格式:

一个正整数n。

输出格式:

一个数表示答案。

样例输入1:

4

样例输出1:

2

约定:

1<=n<=5000

#include<bits/stdc++.h>
using namespace std;
int main(){
  int n=0;
  cin>>n;
  int ans=0;
  for(int i=1;i<=n;i++){
    for(int j=1;j<=i;j++){
      int k=floor(i/j);
      if(k==j){
      ans++;
    }
   }
  }
  cout<<ans<<endl;
}

 

原文地址:https://www.cnblogs.com/fangzm/p/13697722.html