zoukankan      html  css  js  c++  java
  • 1005 继续(3n+1)猜想 (25分)(pat)

    #include <stdio.h>
    int key(int b,int a[],int k);
    int main()
    {
    int k,i,a[100],b[100],count=0,g;
    scanf("%d",&k);
    for(i=0;i<k;i++)
    {
    scanf("%d",&a[i]);
    }for(i=0;i<k;i++)
    {
    for(g=i+1;g<k;g++)
    {int t;
    if(a[i]>a[g])
    {
    t=a[i];
    a[i]=a[g];
    a[g]=t;
    }//升序排列

    }
    }

    int j=0;
    for(i=0;i<k;i++)
    {
    if(key(a[i],a,k)==1)//是关键数就返回一;否则返回0
    {
    b[j]=a[i];
    j++;
    count++;
    }
    }
    for(i=j-1;i>=0;i--)
    {
    printf("%d",b[i]);
    if(i!=0) printf(" ");//空格输出方法
    else printf(" ");
    }

    return 0;
    }
    int key(int b,int a[] ,int k)
    {
    int i=0;
    for(i=0;i<k;i++)
    {
    int m=a[i];//用m否则主函数里数组的值会被改变

    while(m!=b)
    {
    while(m!=1)
    {


    if(m%2==0)
    {
    m/=2;
    if(m==b)
    {
    return 0;
    break;
    }
    }
    else
    {
    m=(m*3+1)/2;
    if(m==b)
    {
    return 0;
    break;
    }
    }
    }
    break;

    }


    }
    return 1;
    }

  • 相关阅读:
    Mac安装zookeeper
    征途
    vue-配置文件
    数组去重
    判断身份证
    判断邮箱
    判断手机号是否正确
    JS 时间格式转换
    打印 print-js
    自"愚"自乐的云服务器
  • 原文地址:https://www.cnblogs.com/cy846586184/p/12294949.html
Copyright © 2011-2022 走看看