• 第六次


    1.有一个四位正整数,组成这个四位数的四个数字各不相同,如果把它们的首尾互换,第二位与第三位互换,组成一个新的四位数。原四位数为新四位数的4倍,请找出一个这样的四位数。

    #include<stdio.h>
    int main()
    {
        int a,b,c,d,sum1,sum2;
    
        for(a=0;a<=9;a++)
        {
            for(b=0;b<=9;b++)
            {
                for(c=0;c<=9;c++)
                {
                    for(d=0;d<=9;d++)
                    {
                        sum1=a*1000+b*100+c*10+d;
                        sum2=(d*1000+c*100+b*10+a)*4;
                        if(sum1>=1000&&a!=b&&b!=c&&c!=d&&d!=a)  
                        {
                            if(sum1==sum2)
                            {
                                printf("%d
    ",sum1);
                            }    
                        }    
                    }
                }
            }
        }
        return 0; 
    }

    总结:等于与赋值要区分,不能马虎。

    2.输入任意一个多位的数字,求各位数字之和。如果在【1,12】之内,则输出与和数字对应的月份的英文名称,否则输出***。

    #include<stdio.h>
    int main()
    {
        int a,b,sum=0;
        printf("请输入任意一个多位整数
    ");
        scanf("%d",&a);
        while(a!=0)
        {
            b=a%10;
            a=a/10;
            sum=sum+b;
        }
        if(sum==1)
        {
            printf("1 Jan
    ");
        }
        else if(sum==2)
        {
            printf("2 Feb
    ");
        }
        else if(sum==3)
        {
            printf("3 Mar
    ");
        }
        else if(sum==4)
        {
            printf("4 Apr
    ");
        }
        else if(sum==5)
        {
            printf("5 May
    ");
        }
        else if(sum==6)
        {
            printf("6 June
    ");
        }
        else if(sum==7)
        {
            printf("7 July
    ");
        }
        else if(sum==8)
        {
            printf("8 Aug
    ");
        }
        else if(sum==9)
        {
            printf("9 Sept
    ");
        }
        else if(sum==10)
        {
            printf("10 Oct
    ");
        }
        else if(sum==11)
        {
            printf("11 Nov
    ");
        }
        else if(sum==12)
        {
            printf("12 Dec
    ");
        }
        else
            printf("%d ***",sum);
        return 0;
    }

    总结:穷举虽说简单太麻烦,我想问问有没有更简单的方法。

    3.给定不超过6的正整数A,考虑从A开始的连续4个数字。请输出所有由它们组成的无重复数字的3位数。

    #include<stdio.h>
    int main()
    {
        int a,b,i,j,k,sum;
        printf("请输入一个不超于六的正整数
    ");
        scanf("%d",&a);
        for(i=a;i<=a+3;i++)
        {
            for(j=a;j<=a+3;j++)
            {
                for(k=a;k<=a+3;k++)
                {
                    if(i!=j&&j!=k&&k!=i)
                    { 
                        sum=i*100+j*10+k;
                        printf(" %d",sum);
                        b++;
                        if(b%6==0)
                        {
                            printf("
    ");
                        }
                    } 
                }
            }
        }
        return 0;
    }

    总结:这个用到了换行的小程序,他最后不让用空格,所以我就把空格放在了前面。

    有16根火柴,可以拼出多少个形如“A+B=C”的等式,A、B、C是用火柴棍拼出的整数,且为一位数,输出该等式形式。

    #include<stdio.h>
    int main()
    {
        int a,b,c,i,j,k,l;
        for(i=0;i<=9;i++)
        {
            if(i==1)
            {
                a=2;
            }
            else if(i==2)
            {
                a=5;
            }
            else if(i==3)
            {
                a=5;
            }
            else if(i==4)
            {
                a=4;
            }
            else if(i==5)
            {
                a=5;
            }
            else if(i==6)
            {
                a=6;
            }
            else if(i==7)
            {
                a=3;
            }
            else if(i==8)
            {
                a=7;
            }
            else if(i==9)
            {
                a=6;
            }
            else if(i==0)
            {
                a=6;
            }
            for(j=0;j<=9;j++)
            {
                if(j==1)
                {
                    b=2;
                }
                else if(j==2)
                {
                    b=5;
                }
                else if(j==3)
                {
                    b=5;
                }
                else if(j==4)
                {
                    b=4;
                }
                else if(j==5)
                {
                    b=5;
                }
                else if(j==6)
                {
                    b=6;
                }
                else if(j==7)
                {
                    b=3;
                }        
                else if(j==8)
                {
                    b=7;
                }
                else if(j==9)
                {
                    b=6;
                }
                else if(j==0)
                {
                    b=6;
                }
                for(k=0;k<=9;k++)
                {
                    if(k==1)
                    {
                        c=2;
                    }                
                    else if(k==2)
                    {
                        c=5;
                    }
                    else if(k==3)
                    {
                        c=5;
                    }
                    else if(k==4)
                    {
                        c=4;
                    }
                    else if(k==5)
                    {
                        c=5;
                    }
                    else if(k==6)
                    {
                        c=6;
                    }
                    else if(k==7)
                    {
                        c=3;
                    }
                    else if(k==8)
                    {
                        c=7;
                    }
                    else if(k==9)
                    {
                        c=6;
                    }
                    else if(k==0)
                    {
                        c=6;
                    }
                    if(i+j==k&&a+b+c==12)
                    {
                        printf("%d+%d=%d
    ",i,j,k);
                    }
                }
            }
        }
        
    
        return 0;
    }

    总结:穷举法好麻烦,但我实在是想不出其他的招式了。

  • 相关阅读:
    matlab简单线性规划&单纯形法
    matlab多变量绘图函数(类似ggplot2)
    matlab近似泛函优化
    如何求矩阵的逆矩阵
    数值分析手写笔记
    latex绘图小结
    数理统计手写笔记
    matlab kriging模型
    运筹学与最优化手写笔记
    matlab既约梯度法习题
  • 原文地址:https://www.cnblogs.com/web5217/p/6044565.html
Copyright © 2020-2023  润新知