第十六天第二个问题
问题描述:
兔子发现了一个数字序列,于是开始研究这个序列。兔子觉得一个序列应该需要有一个命名,命名应该要与这个序列有关。由于兔子十分讨厌完全平方数,所以兔子开创了一个新的命名方式:这个序列中最大的不是完全平方数的数字就是他的名字。
现在兔子有一个序列,想要知道这个序列的名字是什么。
输入描述:
第一行一个整数 n,表示序列的长度。
第二行有 n 个整数 a
i
,表示序列中的 n 个数分别是多少。
输出描述:
输出仅一行,表示这个序列的名字,也就是这个序列中最大的非完全平方数。
解决思路:
1.先根据输入描述,定义变量n和数组a,存储进用户输入的数据
2.然后对数组a进行由小到大排序
3.从后往前遍历a数组寻找到第一个不是完全平方数的数字,存储进x变量,最后输出x变量;
代码:
#include <iostream>
using namespace std;
int n;
int a[1001];
int x;
bool isPerfectSquare(int num)
{
int num1 = 1;
while(num > 0)
{
num -= num1;
num1 += 2;
}
return num == 0;
}
int main()
{
cin>>n;
for(int i=0;i<n;i++)
{
cin>>a[i];
}
int t;
for(int j=0;j<n;j++)
{
for(int i=j+1;i<n;i++)
{
if(a[j]>a[i])
{
t=a[j];
a[j]=a[i];
a[i]=t;
}
}
}
for(int i=n-1;i>=0;i--)
{
int ans;
ans=isPerfectSquare(a[i]);
if(ans==0)
{
x=a[i];
break;
}
}
cout<<x;
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现