25,27简单   2暴力算法后需要优化算法,不知道如何优化,去csdn找答案,无法理解

有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?

#include <bits/stdc++.h>

int main(){
    int num;
    while(true){
        scanf("%d", &num);
        if(num == 0) break;
        int total = 0;
        
        while(!(num==0||num==1)){

            total += num/3;
            int temp = num%3;
            num= num/3 + temp;
            if(num==2) {
                total++;
                num--;
            }
        }
        printf("%d\n", total);
    }
}

N的阶乘写作N!表示小于等于N的所有正整数的乘积。阶乘会很快的变大,如13!就必须用32位整数类型来存储,70!即使用浮点数也存不下了。你的任务是找到阶乘最后面的非零位。举个例子,5!=1*2*3*4*5=120所以5!的最后面的非零位是2,7!=1*2*3*4*5*6*7=5040,所以最后面的非零位是4。

#include <stdio.h>

int main() {
    int N;
    scanf("%d", &N);

    long long result = 1;
    int count2 = 0, count5 = 0;

    // 遍历 1~N,分解并统计因子 2 和 5
    for (int i = 1; i <= N; i++) {
        int num = i;
        // 统计当前数中的因子 2
        while (num % 2 == 0) {
            count2++;
            num /= 2;
        }
        // 统计当前数中的因子 5
        while (num % 5 == 0) {
            count5++;
            num /= 5;
        }
        // 将处理后的数乘入结果,并保留有效位
        result = (result * num) % 100000;
    }

    // 计算多余的因子 2(因为 2 的数量比 5 多)
    int extra2 = count2 - count5;
    for (int i = 0; i < extra2; i++) {
        result = (result * 2) % 100000;
    }

    // 找到最后一个非零位
    while (result % 10 == 0) {
        result /= 10;
    }
    int lastNonZero = result % 10;

    printf("%d\n", lastNonZero);

    return 0;
}

算菜价

#include <stdio.h>
#include <math.h>

int main() {
    int T;
    // 读取测试组数
    scanf("%d", &T);

    while (T--) {
        int n;
        // 读取每组的菜种数量
        scanf("%d", &n);

        double total = 0.0;
        char name[50];
        double quantity, price;

        for (int i = 0; i < n; i++) {
            // 读取菜名、数量、单价
            scanf("%s %lf %lf", name, &quantity, &price);
            total += quantity * price;
        }

        // 四舍五入到角(保留一位小数)
        total = round(total * 10) / 10;
        // 格式化输出
        printf("%.1f\n", total);
    }

    return 0;
}

1

代理是一种对环境刺激做出反应的“设备”。它将代理设想为单个机器(如机器人)是很自然的,尽管代理可以采取其他形式,例如自主飞机交互式视频游戏中的角色,或与之通信的进程互联网上的其他进程(可能是客户端、服务器或对等体),大多数代理都有传感器,通过传感器从他们的代理接收数据它们可以影响其环境的环境和致动器,传感器的示例包括麦克风、摄像头、距离传感器和空气传感器或土壤取样装置。致动器的示例包括轮子、腿、翅膀、,例如麦克风、夹具和语音合成器。

2

最简单的反应是反射动作,这仅仅是对输入数据的预定响应。更高级别的响应是需要获得更“智能”的行为。例如,我们可能赋予代理对其环境的知识,并要求代理相应地调整其动作。投掷棒球的过程是这在很大程度上是一种反射动作,但决定了如何以及在哪里投球需要了解当前的环境。这样的现实世界知识可以存储、更新、访问,并最终应用于决策过程仍然是人工智能领域的一个具有挑战性的问题情报。

3

如果我们希望代理寻求另一个级别的响应目标,如赢得一场国际象棋比赛或在拥挤的人群中机动
通道。这种目标导向的行为要求代理的响应,或一系列反应,是故意制定计划的结果操作或在当前选项中选择最佳操作。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐