1005 继续(3n+1)猜想 ——c++实现

1. 题目介绍

1005 继续(3n+1)猜想 ——c++实现_第1张图片

1005 继续(3n+1)猜想 ——c++实现_第2张图片

 2. 具体代码实现

#include
#include    //sort函数
using namespace std;
bool test(int n,int in){   //判断in是否被n覆盖
	while(n!=1){
		if(n%2==0)
			n/=2;
		else
			n=(3*n+1)/2;
		if(in==n)
			return true;
	}
	return false;
}
bool cmp(int x,int y){
    return x>y;
}
int main(){
	int n;
	cin>>n;
	int num[100];     //存储输入的数字
	int result[100];  //存储不能被覆盖的数字
	int count=0;
	for(int i=0;i>num[i];
	for(int i=0;i=n)  //判断该数字是否被覆盖了。如果j>=n,则未被覆盖
			result[count++]=num[i];
	}
	sort(result,result+count,cmp);  //对结果由大到小排序
	for(int i=0;i

你可能感兴趣的:(PAT乙级题目整理,c++)