木仙花数
题目描述:
定义木仙花数为满足以下条件的数:
假设正整数 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; }