当前位置: 首页 > news >正文

兔子序列(c语言)

1.//描述
//兔子发现了一个数字序列,于是开始研究这个序列。兔子觉得一个序列应该需要有一个命名,
// 命名应该要与这个序列有关。由于兔子十分讨厌完全平方数,
// 所以兔子开创了一个新的命名方式:这个序列中最大的不是完全平方数的数字就是他的名字。
//现在兔子有一个序列,想要知道这个序列的名字是什么。
//输入描述:
//第一行一个整数 n,表示序列的长度。
//第二行有 n 个整数 ai,表示序列中的 n 个数分别是多少。
//输出描述:
//输出仅一行,表示这个序列的名字,也就是这个序列中最大的非完全平方数。

2.方法一:我们要知道非完全平方数是什么,非完全平方数是指是否有相等的数相乘(b*b==arr[i]),(注意:一定b<arr[i]/2)。当有是则count++,否则count==0.

#include<stdio.h>
//方法一
int main()
{int n = 0;int a = 0;scanf_s("%d", &n);int arr[1001] = { 0 };int tmp = 0;for (int i = 0; i < n; i++){scanf_s("%d", &arr[i]);}for (int j = 0; j < n; j++){int count = 0;for (int b = 1; b <= arr[j] / 2; b++)//肯定小于这个数的二分之一(可以加快判断速率){if (b * b == arr[j]){count = 1;break;}}if (count == 0){if (tmp < arr[j]){tmp = arr[j];}}}printf("%d\n", tmp);return 0;
}

3.方法三:先对数组元素从小到大进行排序,然后从数组末尾找,能比较快的找到最大的完全非平方数,进行比较判断是否为完全非平方数。

#include<stdio.h>
int func(int x)
{int i;for (i = 1; i <= x / 2; i++)//肯定小于这个数的二分之一(可以加快判断速率)if (i * i == x)return 0;return 1;
}
int main()
{int n=0;scanf("%d", &n);int a[n];int i, j, t;for (i = 0; i < n; i++)scanf("%d", &a[i]);for (i = 0; i < n - 1; i++){//先对数组元素从小到大进行排序for (j = 0; j < n - 1 - i; j++){if (a[j] > a[j + 1]){t = a[j];a[j] = a[j + 1];a[j + 1] = t;}}}for (i = n - 1; i >= 0; i--){//从数组末尾找,能比较快的找到最大的完全非平方数if (func(a[i]))//判断是否为完全非平方数{printf("%d\n", a[i]);break;}}return 0;
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • RabbitMQ 常见问题与故障排查
  • 推荐一款强大的 macOS 剪贴板增强工具:CleanClip
  • 设计模式 13 责任链模式
  • 简而不减,极致便捷!泰极预付费解决方案震撼上市
  • Flink CDC读取Mysql时,Decimal类型数据异常,变成了字符串(源码解析及解决方案)
  • 19行为型设计模式——备忘录模式
  • qml tabbar tabbutton toolbar toolbutton 的区别
  • Error: Can not import paddle core while this file exists
  • 【STM32单片机_(HAL库)】3-4-1【中断EXTI】【智能排队控制系统】LCD1602显示字符串
  • 25考研计算机组成原理复习·4.3程序的机器级代码表示
  • Pytorch构建网络模型结构都有哪些方式
  • 通过C# 读取PDF页面大小、方向、旋转角度
  • 攀高行为检测识别摄像机
  • JavaWeb系列四: DOM 上
  • 多线程篇(基本认识 - 线程相关API)(持续更新迭代)
  • Angular 2 DI - IoC DI - 1
  • canvas 绘制双线技巧
  • HomeBrew常规使用教程
  • java8-模拟hadoop
  • JavaScript设计模式之工厂模式
  • Laravel 中的一个后期静态绑定
  • Meteor的表单提交:Form
  • passportjs 源码分析
  • PAT A1092
  • Vue官网教程学习过程中值得记录的一些事情
  • 从重复到重用
  • 工作手记之html2canvas使用概述
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 前端设计模式
  • 如何使用 JavaScript 解析 URL
  • 线性表及其算法(java实现)
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 格斗健身潮牌24KiCK获近千万Pre-A轮融资,用户留存高达9个月 ...
  • 扩展资源服务器解决oauth2 性能瓶颈
  • ​1:1公有云能力整体输出,腾讯云“七剑”下云端
  • # Swust 12th acm 邀请赛# [ K ] 三角形判定 [题解]
  • #我与Java虚拟机的故事#连载13:有这本书就够了
  • (04)odoo视图操作
  • (delphi11最新学习资料) Object Pascal 学习笔记---第7章第3节(封装和窗体)
  • (分布式缓存)Redis分片集群
  • (规划)24届春招和25届暑假实习路线准备规划
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (七)c52学习之旅-中断
  • (学习日记)2024.01.09
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • . ./ bash dash source 这五种执行shell脚本方式 区别
  • .bat批处理(十):从路径字符串中截取盘符、文件名、后缀名等信息
  • .Net Core webapi RestFul 统一接口数据返回格式
  • .net mvc部分视图
  • .NET 设计一套高性能的弱事件机制
  • .NET 使用配置文件
  • .NET编程C#线程之旅:十种开启线程的方式以及各自使用场景和优缺点
  • .NET命名规范和开发约定
  • .NET轻量级ORM组件Dapper葵花宝典