OJ基础题库(1)

收录内容
P1005 最大公约数
p1008 质数还是合数
p1019 修改字符串
p1021 日历问题
#include<iostream>
using namespace std;

int max_yueshu(int x,int y){
    int temp;
    while(y!=0){
        temp=x%y;
        x=y;
        y=temp;
    }
    return x;
}


int main(){
    int n,i;
    cin>>n;   //输入对数
    int x,y,res;
    int a[n];
    for(i=0;i<n;i++){
        cin>>x>>y;
        res=max_yueshu(x,y);
        a[i]=res;
    }
    for(i=0;i<n;i++)
        cout<<a[i]<<endl;
}

#include<iostream>
using namespace std;
int judge(int n){
    if(n==1)
        return 0;
    if(n==2)
        return 1;
    int i;
    for(i=2;i<n;i++){
        if(n%i==0)
            return 0;
    }
    if(i==n)
        return 1;
    return 0;
}
int main(){
    int a,temp;
    while(cin>>temp){
        a=judge(temp);
        if(a==0)
            cout<<"No"<<endl;
        if(a==1)
            cout<<"Yes"<<endl;
    }
}


#include<iostream>
#include<string>
using namespace std;
int main(){
    string sentence;
    cin>>sentence;
    int i;
    for(i=0;i<sentence.length();i++){
        if(int(sentence[i])>=65 && int(sentence[i])<=90)
            sentence[i]=int(sentence[i])+32;
            sentence[i]=char(sentence[i]);
    }
    cout<<sentence<<endl;
    return 0;    
    
}


#include<iostream>
using namespace std;
int main(){
    int n;
    while(cin>>n){
        if(n%7==0){
            cout<<7<<endl;
        }else{
            cout<<n%7<<endl;
        }
    }
}


#include<iostream>
using namespace std;
void range(int n,int *a){
    int i,j,temp;
    for(i=0;i<n;i++)
        for(j=i;j<n;j++){
            if(a[i]>a[j]){
                temp=a[i];
                a[i]=a[j];
                a[j]=temp;
            }
        }
}
/*
void quicksort(int a[],int begin,int end){
    if(begin<end){
        int temp=a[begin];
        int i=begin;
        int j=end;
        while(i<j){
            while(i<j && a[j]>temp)
                j--;
            a[i]=a[j];
            while(i<j && a[i]<=temp)
                i++;
            a[j]=a[i];
        }
        a[i]=temp;
        quicksort(a,begin,i-1);
        quicksort(a,i+1,end);
    }
    else
        return;
}*/
int main(){
    int n,i;
    cin>>n;
    int a[n];    //这句话要放在输入n之后 否则是非法内存访问
    for(i=0;i<n;i++){
        cin>>a[i];
    }
    range(n,a);
    //quicksort(a,0,n-1);
    for(i=0;i<n-1;i++){
        cout<<a[i]<<" ";
    }
    cout<<a[n-1];
    return 0;
}


#include<iostream>
#include<string>
using namespace std;
void move(int n,string &b){
    int i,j,temp;
    temp=b[0];
    for(i=0;i<n;i++){
        b[i]=b[i+1];
    }    
    b[n-1]=temp;
}
int main(){
    int k,n,t;
    cin>>k;
    string s1;
    cin>>s1;
    n=s1.length();
    for(t=0;t<k;t++){
        move(n,s1);
    }
    cout<<s1;
    return 0;
}


#include<iostream>
using namespace std;
void count(int x,int y){
    int i,j,temp=1;
    for(i=0;i<=x;i++)
        for(j=0;j<=y;j++){
            if(i+j==x && 2*i+4*j==y){
                cout<<i<<" "<<j<<endl;
                temp=0;
            }
        }
    if(temp){
        cout<<-1<<" "<<-1<<endl;
    }
}
int main(){
    int m,n;
    while(cin>>m>>n){
        count(m,n);
    }
    return 0;
}


#include<iostream>
#include<string>
using namespace std;
int main(){
    string sentence;
    cin>>sentence;
    int i,j;
    cout<<6;
    for(i=6;i<=10;i++){
        cout<<sentence[i];
    }
    return 0;
}


#include<iostream>
using namespace std;
int main(){
    int n;
    cin>>n;
    int i,a[n];
    for(i=0;i<n;i++){
        cin>>a[i];
    }
    cout<<a[(n)/2];
    return 0;
}


#include<iostream>
using namespace std;
int main(){
    int m,n,i,j,t=0;
    cin>>m;
    cin>>n;
    int a[m],b[n];
    for(i=0;i<m;i++){
        cin>>a[i];
    }
    for(j=0;j<n;j++){
        cin>>b[j];
    }
    i=0;j=0;
    int c[m+n];
    while(i<m&&j<n){
        if(a[i]<b[j]){
            c[t++]=a[i++];
        }
        else if(a[i]>=b[j]){
            c[t++]=b[j++];
        }
    }
    while(i<m){
        c[t++]=a[i++];
    }
    while(j<n){
        c[t++]=b[j++];
    }
    for(t=0;t<m+n;t++){
        cout<<c[t]<<" ";
    }
    return 0;
}


#include<iostream>
using namespace std;
//哥德巴赫猜想
int get_sushu(int n,int *a){
    int i=2,j,t;
    a[0]=2;
    a[1]=3;
    for(j=4;j<=n-1;j++){
        for(t=2;t<j;t++){
            if(j%t==0){
                break;
            }
        }    
        if(t==j){
            a[i++]=j;
        }
    }
    return i-1;
}
int main(){
    int n,temp;
    while(cin>>n){
        int a[n];
        temp=get_sushu(n,a);
        int i,j,control=0;
        for(i=0;i<=temp;i++){
            for(j=0;j<=temp;j++){
                if(int(a[i])+int(a[j])==n){
                    cout<<int(a[i])<<"+"<<int(a[j])<<endl;
                    control=1;
                }
            }
        if(control==1)
            break;            
        }


                
    }
    return 0;
}


#include<string.h>
#include<iostream>
#include<string>
using namespace std;
int main(){
    string s;
    while(cin>>s){
        int n=0,i=0;
        while(s[i]!='\0'){
            n=n*8+int(s[i])-'0';
            i++;
        }
        if(n==0)
            break;
        cout<<n<<endl;
    }
    return 0;
}


样例2  100 100  输出10个
注意:多组输入!
#include<iostream>
using namespace std;
int change(int m){
    if(m==1){
        return 0;
    }
    else if(m==0){
        return 1;
    }
}
void address(int *a,int id,int n){
    int i=1;
    for(i=id;i<=n;i++){
        if(i%id==0){
            a[i]=change(a[i]);
        }
    }
}
int main(){
    int n,k;
    while(cin>>n>>k){
        int i,j;
        int a[n+1]={0};
        a[0]=2;
        for(i=1;i<=k;i++){
            address(a,i,n);
        }
        for(j=1;j<n+1;j++){
            if(a[j]==1)
                cout<<j<<endl;
        }
    }
    return 0;
}


牛逼 一把过!!
#include<iostream>
using namespace std;
int main(){
    int n;
    while(cin>>n){
        int a[n][n];
        int i=0,j=0,num=0,c=0,t;
        if(n%2==0)
            t=n/2-1;
        else
            t=n/2;
        for(i=0;i<n;i++)
            for(j=0;j<n;j++)
                a[i][j]=-1;
        while(c<=t){
            if(c==0 || c==1){
                for(i=0;i<n-c;i++){
                    if(a[i][n-1-c]==-1)
                        a[i][n-1-c]=++num;        
                    else if(i==0)
                        continue;
                    else
                        break;
                }
            }
            if(c>=2){
                for(i=c-1;i<n-c;i++){
                    if(a[i][n-1-c]==-1)
                        a[i][n-1-c]=++num;
                    else if(i==c-1)
                        continue;
                    else
                        break;
                }
            }


            for(j=n-1-c;j>=c;j--){
                if(a[n-1-c][j]==-1)
                    a[n-1-c][j]=++num;
                else if(n-1-c==j)
                    continue;
                else
                    break;
            }
            for(i=n-1-c;i>=c;i--){
                if(a[i][c]==-1)
                    a[i][c]=++num;
                else if(i==n-1-c)
                    continue;
                else
                    break;
            }
            for(j=c;j<n-c-1;j++){
                if(a[c][j]==-1)
                    a[c][j]=++num;
                else if(j==c)
                    continue;
                else
                    break;
            }
            c++;
        }
        for(i=0;i<n;i++){
            for(j=0;j<n;j++){
                if(j==n-1)
                    cout<<a[i][j]<<endl;
                else if(j<n-1)
                    cout<<a[i][j]<<" ";
            }
        }            
    }
    return 0;
}


  • 4
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 南京信息工程大学oj系统题库是为了帮助学生提高编程能力、加强算法训练而开设的,题库中包含了各种类型的题目,涵盖了计算机科学与技术、软件工程、网络工程、物联网等专业的知识点。题库中的题目难度有高有低,从初级到高级、从简单到复杂都有涵盖,可以满足不同层次、不同需求的学生。 南京信息工程大学oj系统题库的题目内容丰富多样,可以涉及到各种算法、数据结构、编程语言等方面的知识。学生可以通过解答这些题目,了解和掌握不同算法和数据结构的应用场景,提高编程能力和实践动手能力。 南京信息工程大学oj系统题库的使用非常方便,学生只需登录系统,在题库中选择自己感兴趣或者需要练习的题目,然后根据题目的要求,编写相应的代码进行提交。系统会自动对代码进行评测,给出相应的反馈和评分,帮助学生了解自己的编程能力和解题能力。 同时,南京信息工程大学oj系统题库也可以作为教师授课和学生自学的辅助工具。老师可以根据课程内容,选择合适的题目进行布置作业或者考试,提升学生的学习兴趣和积极性。对于学生自学的话,可以通过解答题库中的题目,巩固和加深对于课程知识的理解和掌握。 总之,南京信息工程大学oj系统题库是一个重要的学习资源,可以帮助学生巩固和提高编程能力,为他们在计算机科学与技术以及相关领域的学习和就业打下坚实的基础。 ### 回答2: 南京信息工程大学oj系统题库是该校为了方便学生进行编程实践和提高编程能力而特别开设的一个在线题库。该题库的目的是帮助学生巩固课堂所学的理论知识,实践编程技巧,并培养学生解决实际问题的能力。 南京信息工程大学oj系统题库中包含了各种难度级别的编程题目,涵盖了计算机科学与技术、通信工程、软件工程等多个专业领域的知识点。学生可以通过选定特定的题目,根据自身编程能力的提升情况逐渐挑战难度更大的题目。 在南京信息工程大学oj系统题库中,学生可以提交自己的代码,系统会自动对代码进行评测并返回结果。这样可以有效地帮助学生查找代码中的错误,并及时进行修改和改进。除此之外,学生还可以查看别人的解题思路和代码实现,借鉴他人的经验,丰富自己的编程思维。 南京信息工程大学oj系统题库还提供了在线编程环境,学生无需安装额外的编译器或者IDE,只需通过浏览器就可以完成编程任务。这样方便学生的学习和实践,并提高了学生在编程中的效率和体验。 总之,南京信息工程大学oj系统题库是一个宝贵的资源,能够提供给学生进行编程实践和提高编程能力的机会。通过挑战不同难度的题目,学生可以不断提升自己的编程水平,更好地适应未来的学习和工作需求。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Simon_Smith

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

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

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

打赏作者

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

抵扣说明:

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

余额充值