gesp(C++一级)(14)洛谷:B4001:[GESP202406 一级] 立方数
gesp(C++一级)(14)洛谷:B4001:[GESP202406 一级] 立方数
题目描述
小杨有一个正整数 n n n,他想知道 n n n 是否是一个立方数。一个正整数 n n n 是立方数当且仅当存在一个正整数 x x x 满足 x × x × x = n x\times x\times x=n x×x×x=n 。
输入格式
第一行包含一个正整数 n n n。
输出格式
如果正整数
n
n
n 是一个立方数,输出 Yes
,否则输出 No
。
样例 #1
样例输入 #1
8
样例输出 #1
Yes
样例 #2
样例输入 #2
9
样例输出 #2
No
提示
对于样例 1,存在正整数 2 2 2 使得 8 = 2 × 2 × 2 8=2\times 2\times 2 8=2×2×2 ,因此 8 8 8 为立方数。
对于样例 2 2 2,不存在满足条件的正整数,因此 9 9 9 不为立方数。
对于全部数据,保证有 1 ≤ n ≤ 1000 1 \le n \le 1000 1≤n≤1000。
AC代码(100分)
#include<bits/stdc++.h>
using namespace std;
/*思路:
1、从1枚举到n,找到答案就标记并为1,并退出循环
2、根据标记,为1输出“Yes”,为0输出“No”
*/
int n;
bool f=0;//表示没找到
int main(){
cin>>n;
for(int i=1;i<=n;i++){
if(i*i*i==n){//找到答案了
f=1;//标记
break; //退出循环
}
}
if(f==1) cout<<"Yes";
else cout<<"No";
return 0;
}
文末彩蛋:
点击王老师青少年编程主页有更多精彩内容