BC159. 兔子的序列
描述
兔子发现了一个数字序列,于是开始研究这个序列。兔子觉得一个序列应该需要有一个命名,命名应该要与这个序列有关。由于兔子十分讨厌完全平方数,所以兔子开创了一个新的命名方式:这个序列中最大的不是完全平方数的数字就是他的名字。输入描述
第一行一个整数 n,表示序列的长度。输出描述
输出仅一行,表示这个序列的名字,也就是这个序列中最大的非完全平方数。示例1
输入:
2 4 2
输出:
2
示例2
输入:
8 1 576 2 8 32 64 4 16
输出:
32
C 解法, 执行用时: 2ms, 内存消耗: 288KB, 提交时间: 2022-06-17
#include <stdio.h> #include <math.h> int main(){ int max = -1, len, n; scanf("%d", &len); for(int i = 0; i < len; i++){ scanf("%d", &n); max = (pow((int)sqrt(n), 2) != n) && max < n? n : max; } printf("%d", max); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 312KB, 提交时间: 2022-05-03
#include<stdio.h> #include<math.h> int main() { int n = 0; int m = 0; int max = 0; scanf("%d",&n); for(int i = 1;i<=n;i++){ scanf("%d",&m); int a =(int)sqrt(m); if(m==(int)pow(a,2)){ continue; } else{ if(max<m){ max = m; } } } printf("%d",max); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 320KB, 提交时间: 2022-03-25
#include <stdio.h> #include <math.h> int name(int a){ int b=sqrt(a); if(a==b*b) return 0; else return a; } int main(){ int n,m,max=0; scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d ",&m); if(max<name(m)) max=name(m); } printf("%d",max); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 328KB, 提交时间: 2022-06-23
int main() { int n; scanf("%d",&n); int a,x; int max=0; for(int i=0;i<n;i++) { scanf("%d",&a); x=sqrt(a); if(x*x==a)continue; else if(a>max)max=a; } printf("%d",max); return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 336KB, 提交时间: 2022-06-25
#include<stdio.h> int a[40]; int check(int x) { for(int i=0;i<=39;i++) { if(x==a[i]) return 1; } return 0; } int main() { for(int i=0;i<40;i++) a[i]=(i+1)*(i+1); int n; scanf("%d",&n); int b[1000]; for(int i=0;i<n;i++) scanf("%d",&b[i]); for(int i=0;i<n;i++) { if(check(b[i])==1) b[i]=0; } int max=b[0]; for(int i=0;i<n;i++) { if(b[i]>max) max=b[i]; } printf("%d",max); return 0; }