zoukankan      html  css  js  c++  java
  • pat每日刷题计划--day74

    PAT A1069 The Black Hole of Numbers

    题目本身没有难度,注意读题,数字占四位,还有前后的空格

    注意每一轮的数组和各个数字清空。评测机有时候有问题

    sort(num+1,num+5)默认升序排列。左闭右开

    刚开始结果错误,是因为数组开的不够,这时候没报错,但是怎么改都是0,这种错误注意避免。

    #include<stdio.h>
    #include<iostream>
    #include<string.h>
    #include<algorithm>
    int wei[5];
    int answei[10];//数组开小怎么都返回0
    int ans;
    using namespace std;
    int main()
    {
        int firstnum=0;
        int secondnum=0;
        int temp;
        scanf("%d",&temp);
        int count=0;
    
        while(1)
        {
                memset(wei,0,sizeof(wei));
                memset(answei,0,sizeof(answei));
                count=0;
                while(temp>0)
                {
                    wei[++count]=temp%10;
                    temp=temp/10;
                }
                sort(wei+1,wei+5);
                firstnum=0;
                secondnum=0;
                for(int i=1;i<=4;i++)
                {
                    firstnum=firstnum*10;
                    secondnum=secondnum*10;
                    firstnum+=wei[5-i];
                    secondnum+=wei[i];
                }
                ans=firstnum-secondnum;
    
                count=0;
                int anstemp=ans;
                while(ans>0)
                {
                    answei[++count]=ans%10;
                    ans=ans/10;
                }
                /*for(int i=1;i<=4;i++)
                    printf("%d",answei[i]);*/
                for(int i=4;i>=1;i--)
                        printf("%d",wei[i]);
                printf(" - ");
                for(int i=1;i<=4;i++)
                    printf("%d",wei[i]);
                printf(" = ");
                for(int i=4;i>=1;i--)
                    printf("%d",answei[i]);
                printf("
    ");
                if(anstemp==0 || anstemp==6174)
                    return 0;
                temp=anstemp;
        }
        return 0;
    }
    View Code

     最大公约数

    #include<stdio.h>
    #include<iostream>
    #include<string.h>
    using namespace std;
    int gcd(int a,int b)
    {
        if(a<b)
        {
            int temp=a;
            a=b;
            b=temp;
        }
        if(b==0)
            return a;
        return gcd(b,a%b);
    }
    int main()
    {
        int a,b;
        cin>>a>>b;
        printf("%d",gcd(a,b));
        return 0;
    }
    View Code

     这个在codeup评测是多输入需要修改,开始错误是因为没有换行。

    时间才能证明一切,选好了就尽力去做吧!
  • 相关阅读:
    Spring Security 自动装配
    Mysql学习
    java 学习路线(bilibili)
    Mac上配置idea的项目上传到GitHub
    vim安装自动补全插件
    spring aop 获取request、response对象
    centos7配置本地yum源 使用安装镜像安装软件
    eclipse启动速度优化
    spring-mvc springboot 使用MockMvc对controller进行测试
    java web 验证码-字符变形(推荐)
  • 原文地址:https://www.cnblogs.com/tingxilin/p/12253658.html
Copyright © 2011-2022 走看看