NowcoderGirl编程比赛(一)

本文总结了参加NowcoderGirl编程比赛的经历,重点解析了第一题:寻找小于给定数字的最大平方数。提供了两种解题思路及代码实现,一种是遍历求解,另一种是利用数学方法简化计算。

上个星期参见了NowcoderGirl的编程比赛,不管做的情况怎么样,还是做一个总结吧。将每一道编程题做一个总结

第一题:
题目具体是什么我记不得不太清楚了,但是大概意思还是可以的

输入一个数字,找出小于这个数字的最大的平方数。例:输入20,输出16。

一开始我自己的想法是,从i=1开始遍历,直到找到i2 > 20时,i-1为所需得到的结果。

代码:


#include <stdio.h>
int maxNum(int n);

int main(void){
    int N;
    scanf("%d",&N);
    int max;
    max = maxNum(N);
    printf("%d",max);
}

int maxNum(int n){
    int flag = 0;
    int max = 0;
    while (max<=n){
        max = flag*flag;
        flag++;
    }
    flag = flag-2;
    max = flag*flag;
    return max;
}
之后我有一个朋友告诉我我的想法有点麻烦,可以通过对需要那个数字进行开平方处理,并且在之后对其向下取整即可
另一种思路的代码我还没有写,考虑到比较接单实现就没有去完成了。
总结一下,第一道题还算是比较简单的,大家的通过率也应该会很高的吧。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值