//
// main.cpp
// 写数游戏
//
// Created by MyFavour on 2017/3/18.
// Copyright © 2017年 MyFavour. All rights reserved.
//
//1272
//纸上已经有n个数,每次随便取两个,用大的除一下得到结果,如果发现纸上没有,就写到纸上去,直到写不出为止。问纸上最后有几个数?
/*
input:
3
1 2 3
output:
3
*/
运行正常测试的数据是可以的,但是就是通不过在线评测,找不出来错误的原因
//认为在产生一个新的数值之后可以添加进原来的数值作为一个可以参与的数值计算
#include <iostream>
using namespace std;
//int number[1000];
//计算两个数值相除
int caculateDivision(int m,int n)
{
if(m>=n)
return m/n;
else
return n/m;
}
//计算最后纸上剩余的数字的个数
int caculateNum(int number[],int input)
{
int t;
int x=0;
for(int i=0;i<input+x;i++)
for(int j=i+1;j<input+x;j++)
{
if(number[i]!=0&&number[j]!=0)
{
t=caculateDivision(number[i], number[j]);
int k=0;
while(k<input+x)
{
if(t!=number[k])
k++;
else
break;
}
if(k==input+x)
{
x++;
number[input+x-1]=t;
}
}
}
return input+x;
}
int main(int argc, const char * argv[]) {
// insert code here...
//std::cout << "Hello, World!\n";
int n;
cin>>n;
int number[n];
for(int i=0;i<n;i++)
cin>>number[i];
cout<<caculateNum(number,n);
return 0;
}