C/C++每日一练(20230426)

简介: C/C++每日一练(20230426)

1. 不喜欢带钱的小C


小C不喜欢带钱,有一次竟被他碰上了一家不能使用移动支付(也不能找钱)的神秘商店。请问小C至少准备多少张RMB才能恰好支付n元。RMB的面额有100元,50元,20元,10元,5元,1元。


输入格式:

输入一个整数n

输出格式:

最少带几张。


样例输入1:

50

样例输出1:

1

约定:

1<=n<=100


以下程序实现了这一功能,请你填补空白处内容:

```c++

#include <iostream>
using namespace std;
int solve(int tar, int * meta, int metan, int * seed = NULL, int seedn = 0)
{
    if (tar == 0)
    {
        return seedn;
    }
    int min = -1;
    int m;
    int * seed1 = new int[seedn + 1];
    if (seed)
        memcpy(seed1, seed, sizeof(int) * seedn);
    for (int i = 0; i < metan; i++)
    {
        if (meta[i] <= tar)
        {
            seed1[seedn] = meta[i];
            _____________________;
            if (m != -1 && (min == -1 || min > m))
                min = m;
            break;
        }
    }
    delete[] seed1;
    return min;
}
int main()
{
    int arr[] = { 100, 50, 20, 10, 5, 1 };
    int n = 6;
    int total;
    cin >> total;
    int result = solve(total, arr, n);
    cout << result << endl;
    return 0;
}
```


出处:

https://edu.csdn.net/practice/26559384

代码:

#include <iostream>
using namespace std;
int solve(int tar, int * meta, int metan, int * seed = NULL, int seedn = 0)
{
    if (tar == 0)
    {
        return seedn;
    }
    int min = -1;
    int m;
    int * seed1 = new int[seedn + 1];
    if (seed)
        memcpy(seed1, seed, sizeof(int) * seedn);
    for (int i = 0; i < metan; i++)
    {
        if (meta[i] <= tar)
        {
            seed1[seedn] = meta[i];
            m = solve(tar - meta[i], meta, metan, seed1, seedn + 1);
            if (m != -1 && (min == -1 || min > m))
                min = m;
            break;
        }
    }
    delete[] seed1;
    return min;
}
int main()
{
    int arr[] = { 100, 50, 20, 10, 5, 1 };
    int n = 6;
    int total;
    cin >> total;
    int result = solve(total, arr, n);
    cout << result << endl;
    return 0;
}



输出:


2. 数组排序

定义一个包含5个整型元素(1, 5, 3, 92, 6)的数组,将数组元素按照由 小到大的顺序输出

出处:

https://edu.csdn.net/practice/26559385

代码:

#include <stdio.h>
#define N (int)5
int main()
{
    int a[N] = {1,5,3,92,6};
    int tmp;
    for (int i = 0; i < N-1; i++)
    {
        for (int j = 0;j < N-1-i;j++)
        {
            if (a[j] > a[j+1])
            {
                tmp = a[j];
                a[j] = a[j+1];
                a[j+1] = tmp;
            }
        }
    }
    for (int i = 0; i < N; i++)
    {
        printf("%d ",a[i]);
    }
    return 0;
}


输出:


3. 超级素数


一个n位超级素数是指一个n位正整数,它的前1位,前2位,......,前n位均为素数,例如,733是个3位超级素数,因为7,73,733均为素数。输出全部的3位数超级素数。 输入 输出 全部的3位数超级素数,每行一个数

出处:

https://edu.csdn.net/practice/26559386

代码:


#include <stdio.h>
int isprime(int x)
{
    if (x == 0 || x == 1) return 0;
    for (int i = 2; i <= x / 2; i++)
        if (!(x % i)) return 0;
    return 1;
}
int isallprime(int x)
{
    do
    {
        if (!isprime(x)) return 0;
        x /= 10;
    }
    while (x > 0);
    return 1;
}
int main()
{
    for (int i = 111; i <= 1000; i++)
        if (isallprime(i)) printf("%d\n", i);
}

输出:

233

239

293

311

313

317

373

379

593

599

719

733

739

797

目录
相关文章
|
2月前
|
Linux 监控 Ubuntu
Linux 终端操作命令(1)
Linux 终端操作命令(1)
71 1
Linux 终端操作命令(1)
|
2月前
|
算法 Java Go
Rust每日一练(Leetday0018) N皇后II、最大子数组和、螺旋矩阵
Rust每日一练(Leetday0018) N皇后II、最大子数组和、螺旋矩阵
30 1
Rust每日一练(Leetday0018) N皇后II、最大子数组和、螺旋矩阵
|
2月前
|
Linux 监控 Shell
Linux 终端命令之文件浏览(4) head, tail
Linux 终端命令之文件浏览(4) head, tail
35 0
Linux 终端命令之文件浏览(4) head, tail
|
2月前
|
Shell Linux 机器学习/深度学习
Linux 终端操作命令(3)内部命令用法
Linux 终端操作命令(3)内部命令用法
53 0
Linux 终端操作命令(3)内部命令用法
|
2月前
|
Python Linux Ubuntu
Linux系统部署Python语言开发运行环境
Linux系统部署Python语言开发运行环境
127 0
Linux系统部署Python语言开发运行环境
|
2月前
|
Go Unix 开发者
Go语言time库,时间和日期相关的操作方法
Go语言time库,时间和日期相关的操作方法
66 0
Go语言time库,时间和日期相关的操作方法
|
2月前
|
C++ 存储 Serverless
力扣C++|一题多解之数学题专场(2)
力扣C++|一题多解之数学题专场(2)
33 0
力扣C++|一题多解之数学题专场(2)
|
2月前
|
Go 机器学习/深度学习 Rust
Golang每日一练(leetDay0119) 反转字符串I\II Reverse String
Golang每日一练(leetDay0119) 反转字符串I\II Reverse String
53 0
Golang每日一练(leetDay0119) 反转字符串I\II Reverse String
|
2月前
|
Java Go C++
Golang每日一练(leetDay0115) 重新安排行程、递增的三元子序列
Golang每日一练(leetDay0115) 重新安排行程、递增的三元子序列
41 0
Golang每日一练(leetDay0115) 重新安排行程、递增的三元子序列
|
2月前
|
Java Go C++
Golang每日一练(leetDay0111) 摆动排序II\I Wiggle Sort
Golang每日一练(leetDay0111) 摆动排序II\I Wiggle Sort
32 0
Golang每日一练(leetDay0111) 摆动排序II\I Wiggle Sort