2.15打卡

算法组-赵芳舟 2024-02-15 21:55:03

2.15打卡

1034 有理数四则运算

#include<iostream>
#include<string>
#include<math.h>
using namespace std;
long long int a1,b1,a2,b2;
//求最大公约数
long long int gcd(long long int x,long long int y)
{
    return y?gcd(y,x%y):x;
}
void jdg(long long int x,long long int y)
{
    if(x*y==0)
    {
        if(y==0)
        {
            cout<<"Inf";
        }
        else
        {
            cout<<"0";
        }
        return;
    }
    bool flag=((x<0&&y>0)||(x>0&&y<0));
    if(flag)
    {
        cout<<"(-";
    }
    x=fabs(x),y=fabs(y);
    long long int k=x/y;
    if(x%y==0)
    {
        cout<<k;
        if(flag)
        {
            cout<<")";
        }
        return;
    }
    long long int g=gcd(x,y);
    x=x/g,y=y/g;
    if(k>0)
    {
        cout<<k<<" "<<x-k*y<<"/"<<y;
    }
    else if(k==0)
    {
        cout<<x<<"/"<<y;
    }
    if(flag)
    {
        cout<<")";
    }
}
int main()
{
    scanf("%lld/%lld%lld/%lld",&a1,&b1,&a2,&b2);
    jdg(a1,b1);cout<<" + ";jdg(a2,b2);cout<<" = ";jdg(a1*b2+a2*b1,b1*b2);cout<<endl;
    jdg(a1,b1);cout<<" - ";jdg(a2,b2);cout<<" = ";jdg(a1*b2-a2*b1,b1*b2);cout<<endl;
    jdg(a1,b1);cout<<" * ";jdg(a2,b2);cout<<" = ";jdg(a1*a2,b1*b2);cout<<endl;
    jdg(a1,b1);cout<<" / ";jdg(a2,b2);cout<<" = ";jdg(a1*b2,a2*b1);cout<<endl;
    system("pause");
    return 0;
}

1036 跟奥巴马一起编程

#include<iostream>
#include<string>
using namespace std;
int main()
{
    int h,l;
    string s;
    cin>>h>>s;
    l=h/2;
    if(h%2==1)
    {
        l++;
    }
    for(int i=1;i<=l;i++)
    {
        if(i==1||i==l)
        {
            for(int j=0;j<h;j++)
            {
                cout<<s;
            }
            cout<<endl;
        }
        else
        {
            for(int j=0;j<h;j++)
            {
                if(j==0||j==h-1)
                {
                    cout<<s;
                }
                else
                {
                    cout<<" ";
                }  
            }
            cout<<endl;
        }
    }
    system("pause");
    return 0;
}

1037 在霍格沃茨找零钱

#include<iostream>
using namespace std;
int main()
{
    int p1,p2,p3,a1,a2,a3;
    scanf("%d.%d.%d %d.%d.%d",&p1,&p2,&p3,&a1,&a2,&a3);
    int p=(p1*17+p2)*29+p3;
    int a=(a1*17+a2)*29+a3;
    if(p>a)
    {
        cout<<"-";
    }
    if(a>p)
    {
        swap(a,p);
    }
    int ans=p-a;
    int ans3=ans%29;
    int ans2=(ans/29)%17;
    int ans1=(ans/29/17);
    cout<<ans1<<"."<<ans2<<"."<<ans3<<endl;
    system("pause");
    return 0;
}

1038 统计同成绩学生

#include<iostream>
#include<set>
#include<map>
using namespace std;
int main()
{
    int N;
    set<int> s1;
    map<int,int> m1;
    for(int i=0;i<N;i++)
    {
        int n;
        cin>>n;
        if(s1.count(n)==0)
        {
            s1.insert(n);
            m1[n]=1;
        }
        else if(s1.count(n)==1)
        {
            m1[n]+=1;
        }
    }
    int temp=0;
    int num;
    cin>>num;
    for(int i=0;i<num;i++)
    {
        int n;
        cin>>n;
        if(s1.count(n)==0)
        {
            cout<<"0";
            temp=1;
        }
        else if(s1.count(n)==1)
        {
            cout<<m1[n];
            temp=1;
        }
        if(i==num-1)
        {
            cout<<endl;
            continue;
        }
        if(temp==1)
        {
            cout<<" ";
        }
    }
    system("pause");
    return 0;
}

1039 到底买不买

#include<iostream>
#include<vector>
#include<map>
#include<algorithm>
#include<string>
using namespace std;
int main()
{
    string s_1,s_2;
    cin>>s_1>>s_2;
    int more=0;
    int less=0;
    vector<char> s1,s2;
    map<char,int> m1,m2;
    for(int i=0;i<s_1.size();i++)
    {
        if(count(s1.begin(),s1.end(),s_1[i]))
        {
            m1[s_1[i]]=1;
        }
        else
        {
            m1[s_1[i]]+=1;
            s1.push_back(s_1[i]);
        }
    }
    for(int i=0;i<s_2.size();i++)
    {
        if(count(s2.begin(),s2.end(),s_2[i]))
        {
            m2[s_2[i]]=1;
            
        }
        else
        {
            m2[s_2[i]]+=1;
            s2.push_back(s_2[i]);
        }
    }
    for(int i=0;i<s2.size();i++)
    {
        if(count(s1.begin(),s1.end(),s2[i]))
        {
            if(m1[s2[i]]>m2[s2[i]])
            {
                more+=m1[s2[i]]-m2[s2[i]];
            }
            else if(m2[s2[i]]>m1[s2[i]])
            {
                less+=m2[s2[i]]-m1[s2[i]];
            }
        }
        else
        {
            less+=m2[s2[i]];
        }
    }
    if(less==0)
    {
        cout<<"Yes ";
        for(int i=0;i<s1.size();i++)
        {
            if(count(s2.begin(),s2.end(),s1[i])==0)
            {
                more+=m1[s1[i]];
            }
        }
        cout<<more<<endl;
    }
    else 
    {
        cout<<"No "<<less<<endl;
    }
    system("pause");
    return 0;
}
...全文
156 回复 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

325

社区成员

发帖
与我相关
我的任务
社区描述
一个供Leaders学习交流的地方
c++javapython 技术论坛(原bbs) 广东省·深圳市
社区管理员
  • 叫我胡萝北
  • CheungZzzc
  • szu_gexu
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧