算法竞赛入门【码蹄集新手村600题】(MT1220-1240)C语言(二)

简介: 算法竞赛入门【码蹄集新手村600题】(MT1220-1240)C语言(二)

MT1229 搬家公司

(1)题目

N件家具(N<=10),力气大的一次可以搬2件,力气小的一次只能搬1件。统计家具可以用多少种方式搬完。


格式

输入格式: 
输入正整数N
输出格式: 
输出整型

样例1

输入格式: 
4
输出格式: 
5

(2)参考代码

**#include<stdio.h>
int main() 
{ 
    int N, a[100] = {0, 1, 2};
    scanf("%d", &N);
    for (int i=3;i<=N;i++)
    {
        a[i] = a[i-1] + a[i-2];
    }
    printf("%d", a[N]);
    return 0; 
}**

MT1230 圆周率

(1)题目

编写一个程序,使用以下公式计算PI的近似值PI=4(1-1/3+1/5-1/7+1/9…)。括号中的最后一项应小于十的负六次方。


格式

输入格式:
输出格式:
输出为实型,保留2位小数

样例1

输入:
输出:
3.14

(2)参考代码

#include<stdio.h>
int main()
{
    double x = 0, PI = 0;
    for (int i = 1;;i += 2)
    {
        x = 1 / (double)i;
        if (x < 1e-6)
        {
            break;
        }
        if (i % 4 == 3)
        {
            x = -x;
        }
        PI += x;
    }
    printf("%.2lf\n", 4 * PI);
    return 0;
}

MT1231圆周率II

(1)题目

由近似公式: T/2=2/1 * 2/3* 4/3 * 4/56/56/7 *8/7 * 8/9…,求圆周率(精确到10的-6次方)。


格式

输入格式: 
输出格式: 
输出为实型,2位小数

样例1

输入格式:
输出格式: 
3.14

(2)参考代码

#include<stdio.h>
int main() 
{ 
    double num = 1;
    for (double i=1;i<=1000000;i++)
    {
        if ((int)i % 2)
        {
            num *= ((i + 1) / i);
        }
        else
        {
            num *= (i / (i + 1));
        }
    }
    printf("%.2lf", num * 2);
    return 0; 
}

MT1232 数字和

(1)题目

请编写一个简单程序,求一个数的各位数字之和。比如输入123,输出1+2+3的和6.


格式

输入格式:
输入整型 
输出格式:
输出整型 

样例1

输入:
123
输出:
6

(2)参考代码

#include<stdio.h>
int main() 
{ 
    int x, sum = 0;
    scanf("%d", &x);
    while (x)
    {
        sum += x % 10;
        x /= 10;
    }
    printf("%d", sum);
    return 0; 
}

MT1233 数字之和

(1)题目

求一个自然数n中各位数字之和(n由用户输入)。不考虑负数等特殊情况。


格式

输入格式:
输入为整型
输出格式:
输出为整型

样例1

输入:
567
输出:
18

(2)参考代码

#include<stdio.h>
int main() 
{ 
    int n, count = 0, sum = 0;
    scanf("%d", &n);
    int temp = n;
    while (temp)
    {
        temp /= 10;
        count++;
    }
    for (int i=0;i<count;i++)
    {
        sum += n % 10;
        n /= 10;
    }
    printf("%d", sum);
    return 0; 
}
目录
相关文章
|
1月前
|
安全 编译器 C语言
C++入门1——从C语言到C++的过渡
C++入门1——从C语言到C++的过渡
52 2
|
2月前
|
机器学习/深度学习 人工智能 算法
深度学习入门:理解神经网络与反向传播算法
【9月更文挑战第20天】本文将深入浅出地介绍深度学习中的基石—神经网络,以及背后的魔法—反向传播算法。我们将通过直观的例子和简单的数学公式,带你领略这一技术的魅力。无论你是编程新手,还是有一定基础的开发者,这篇文章都将为你打开深度学习的大门,让你对神经网络的工作原理有一个清晰的认识。
|
1月前
|
机器学习/深度学习 算法
机器学习入门(三):K近邻算法原理 | KNN算法原理
机器学习入门(三):K近邻算法原理 | KNN算法原理
|
1月前
|
机器学习/深度学习 算法 大数据
机器学习入门:梯度下降算法(下)
机器学习入门:梯度下降算法(下)
|
1月前
|
机器学习/深度学习 算法 API
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
机器学习入门(五):KNN概述 | K 近邻算法 API,K值选择问题
|
1月前
|
存储 Java 编译器
初识C语言1——C语言入门介绍
初识C语言1——C语言入门介绍
30 1
|
1月前
|
C语言
回溯入门题,数据所有排列方式(c语言)
回溯入门题,数据所有排列方式(c语言)
|
1月前
|
机器学习/深度学习 算法
机器学习入门:梯度下降算法(上)
机器学习入门:梯度下降算法(上)
|
3月前
|
C语言
C语言------程设设计入门
这篇文章是C语言程序设计的入门教程,涵盖了C程序的实现过程、VC集成开发环境的使用、基本数据类型的使用、格式控制字符的作用,以及通过示例代码演示了如何使用printf()函数输出不同类型的数据。
C语言------程设设计入门
|
25天前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。