zoukankan      html  css  js  c++  java
  • 百练_1664 放苹果

    描述

    把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。

    输入

    第一行是测试数据的数目t(0 <= t <= 20)。以下每行均包含二个整数M和N,以空格分开。1<=M,N<=10。

    输出

    对输入的每组数据M和N,用一行输出相应的K。

    样例输入

    1
    7 3
    

    样例输出

    8

    代码如下:

    #include <cstdio>
    int gcd(int q,int w);
    int gcd(int q,int w){
       return w == 0 ? q : gcd(w, q%w);
    }
    int main()
    {
        int n,a[650],ans=0,g;
        scanf("%d",&n);
        for(int i=0;i<n;i++){
                scanf("%d",&a[i]);
        }
        for(int i=0;i<n;i++){
                for(int j=0;j<n;j++){
                        if((a[i]>a[j]&&a[i]%a[j]!=0)){
                              g=gcd(a[i],a[j]);
                              ans++;
                            if(g!=1&&a[i]%g==0&&a[j]%g==0){
                               ans--;
                            }
                        }
                    }
        }
        printf("%d
    ",ans);
    
        return 0;
    }
    

    思路解析:

                 经典递归。

  • 相关阅读:
    第十二周作业
    第十一周作业
    第十周作业
    第九周作业*
    #**第八周作业+预习作业**
    第七周作业
    Linux 日志查看常用命令
    Linux tar命令
    Java 数组
    设计模式 观察者模式(Observer)
  • 原文地址:https://www.cnblogs.com/xzt6/p/5796204.html
Copyright © 2011-2022 走看看