牛客网在线题学习

一、走台阶走法问题

 分析:当台阶个数为 1   走法:一种

                                   2    走法:2种的(要么一次走一个,要么一次走两个)

                                 。。。

                                   n个台阶     fib(n-1)+fib(n-2)

两种情况:第一次走1个台阶,剩下n-1个台阶 即fib(n-1)种

                  第一次走两个台阶,剩下n-2个台阶 即fib(n-2)种

程序:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
 fib(int n)
{
	if (n <= 2)
		return n;
	else
		return fib(n - 1) + fib(n - 2);
}
int main()
{
	int i = 0;
	//输入
	scanf("%d",&i);
	int ret = fib(i);
	//打印
	printf("%d", ret);
	return 0;
}

以10为例子,运行结果:

 附上牛客网该题链接。读者可自行学习:

小乐乐走台阶_牛客题霸_牛客网

二、变种水仙花题-Lily number

 分析:

 

#include<stdio.h>
#include<math.h>
int main()
{
    int i = 0;
    for (i = 10000; i <= 99999; i++)
    {
        int j = 0;
        int sum = 0;
        int n = 0;
        for (j = 0; j <= 5; j++)
        {
            n = (int)pow(10, j);
            sum = sum + ((i % n) * (i / n));
        }
        if (sum == i)
        {
            printf("%d ", sum);
        }
    }
    return 0;
}

运行结果

 牛客网链接

变种水仙花_牛客题霸_牛客网 (nowcoder.com)

三、三角形判断

 这一道偏容易,只需要知道三角形的特点还有等腰等边三角形分别有什特点即可

代码:

#include <stdio.h>
int main()
{
    int a,b,c=0;
    while((scanf("%d %d %d",&a,&b,&c)==3))
    {
        if(((a+b)>c)&&((a+c)>b)&&((b+c)>a))
        {
            if((a==b)&&(b==c))
            {
                printf("Equilateral triangle!\n");
            }
            else if(((a==b)&&a!=c)||((a==c)&&a!=b)||((b==c)&&b!=a))
            {
                printf("Isosceles triangle!\n");
            }
            else
            printf("Ordinary triangle!\n");
        }
        else
        printf("Not a triangle!\n");
    }

    return 0;
}

运行结果

 牛客网链接

三角形判断_牛客题霸_牛客网 (nowcoder.com)

好啦!就先写到这里啦!下次再更新!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sjmblog

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值