解题思路:
一开始从n开始依次往n*n遍历,如果它的开方==0的话就算找到了这个数.
后来发现,n以后的第一个平方数不就是sqrt(n)之后第一个整数的平方吗,所以时间复杂度可以降到了O(1)
参考代码:
#include <stdio.h> int main () { int i,n,z=0; scanf("%d",&n); z=sqrt(n)+1; printf("%d",z*z); return 0; }
0.0分
161 人评分
聪明的美食家 (C语言代码)浏览:1252 |
点我有惊喜!你懂得!浏览:1337 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:812 |
C语言程序设计教程(第三版)课后习题9.6 (C语言代码)浏览:574 |
简单的a+b (C语言代码)浏览:726 |
C语言程序设计教程(第三版)课后习题5.7 (C语言代码)浏览:560 |
大小写转换 (C语言代码)浏览:859 |
2003年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:751 |
【排队买票】 (C语言代码)浏览:900 |
幸运数 (C++代码)浏览:1264 |