week1
  • 板块灌水区
  • 楼主paypcl
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/11/10 23:31
  • 上次更新2024/11/11 14:17:00
查看原帖
week1
1516349
paypcl楼主2024/11/10 23:31

进度3.5/36

(以及为什么洛谷一天只能下一次数据 yue)
P1100
利用位运算即可。

#include<iostream>
using namespace std;
int main()
{
    unsigned n;
    cin>>n;
    cout<<((n<<16)|(n>>16))<<'\n';

P1143

不知道该说什么(

#include<iostream>
#include<cmath>
using namespace std;
int main()
{
    int dec(string ,int );
    void trans(char *,int,int );
    int n,m;
    char aa[33]={};
    string a;
    cin>>n>>a>>m;
    trans(aa,dec(a,n),m);
    return 0;
}
int dec(string a,int n)// n to 10
{
    int b=a.length(),sum=0;
    for(int i=0;i<b;i++)
    {
        switch (a[i])
        {
        case '1':sum+=1*pow(n,b-i-1);break;
        case '2':sum+=2*pow(n,b-i-1);break;
        case '3':sum+=3*pow(n,b-i-1);break;
        case '4':sum+=4*pow(n,b-i-1);break;
        case '5':sum+=5*pow(n,b-i-1);break;
        case '6':sum+=6*pow(n,b-i-1);break;
        case '7':sum+=7*pow(n,b-i-1);break;
        case '8':sum+=8*pow(n,b-i-1);break;
        case '9':sum+=9*pow(n,b-i-1);break;
        case 'A':sum+=10*pow(n,b-i-1);break;
        case 'B':sum+=11*pow(n,b-i-1);break;
        case 'C':sum+=12*pow(n,b-i-1);break;
        case 'D':sum+=13*pow(n,b-i-1);break;
        case 'E':sum+=14*pow(n,b-i-1);break;
        case 'F':sum+=15*pow(n,b-i-1);break;
        }
    }
    return sum;
}
void trans(char *p,int n,int m)
{
    int i=0;
    while(n!=0)
    {
        switch(n%m)
        {
            case 0:p[i++]='0';break;
            case 1:p[i++]='1';break;
            case 2:p[i++]='2';break;
            case 3:p[i++]='3';break;
            case 4:p[i++]='4';break;
            case 5:p[i++]='5';break;
            case 6:p[i++]='6';break;
            case 7:p[i++]='7';break;
            case 8:p[i++]='8';break;
            case 9:p[i++]='9';break;
            case 10:p[i++]='A';break;
            case 11:p[i++]='B';break;
            case 12:p[i++]='C';break;
            case 13:p[i++]='D';break;
            case 14:p[i++]='E';break;
            case 15:p[i++]='F';break;
        }
        n/=m;
    }
    for(i-=1;i>=0;i--)
    {
        if(p[i]<=57)
            cout<<int(p[i]-48);
        else
            cout<<p[i];
    }
        
}

P1029
x无法整除y也得考虑

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int search(int ,int );
    int x,y;
    cin>>x>>y;//y=kx,找k的所有因数个数
    cout<<search(x,y);
    return 0;
}
int search(int x,int y)
{
    int gcd(int ,int );
    int num=0,k;
    float k1=(y+.0)/x;
    if(int(k1)==k1)
    {
        k=int(k1);
        for(int j=1;j<=k;j++)
    {
        if(k%j==0)
        {
            if(gcd(j,k/j)==1)
                num++;
        }
    }
    }
    return num;
}
int gcd(int m,int n)
{
    if(m%n==0)
        return n;
    else
        return gcd(n,m%n);
}

还在缓慢的敲
争取下周刷完一半及以上()

2024/11/10 23:31
加载中...