算法题型解答

文章探讨了两个编程问题:计算函数f(n)的时间复杂度,以及解决糖果促销中所需的最少糖果购买数量。涉及C++代码示例和算法优化。
摘要由CSDN通过智能技术生成
  1. f(n)= 6×2n +n2 ,f(n)的时间复杂度是多少?

O(N^2)

  1. 编程求 10 个数的最大公约数

#include<bits/stdc++.h>

using namespace std;

int main(){

    int a,b,n;

    cin>>n;

    cin>>a;

    for(int i=2;i<=n;i++){

        cin>>b;

        if(a<b)

            swap(a,b);

        while(b){

            int r=a%b;

            a=b;

            b=r;

        }

    }

    cout<<a<<endl;

    return 0;

}

4.2023 百度之星初赛第一场 3 糖果促销

小度最喜欢听吃糖了!!!

这天商店糖果促销,可给小度高兴坏了。

促销规则:一颗糖果有一张糖纸,p 张糖纸可以换一颗糖果。换出来的糖果的包装纸也

可以换糖果。

小度想吃 k 颗糖果,他需要买多少颗糖?

#include <bits/stdc++.h>   //糖果促销:p个糖果可以换1个糖,想吃k个糖至少要买多少个糖 (1<=t<=1e6, 1<=p<=1e9, 0<=k<=1e9)

using namespace std;

int t,p,k;

int main(){

cin>>t;

while(t--){

cin>>p>>k;

if(k==0) cout<<0<<'\n';//注意题上的数据范围

else{

k-=(k-1)/p;//一个式子就行

cout<<k<<'\n';

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

为梦想dedicate

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

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

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

打赏作者

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

抵扣说明:

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

余额充值