求助大神!!!怎么排序啊?只29分,对了2个知识点
查看原帖
求助大神!!!怎么排序啊?只29分,对了2个知识点
399929
pip202513楼主2021/7/7 22:48

include <iostream> 
#include <cmath>
#include <cstring> 
#include <string> 
#include <cstdio> 
#include <cstdlib> 
#include <algorithm> 
using namespace std;
const int MAX=2000005;
int a[MAX],s[MAX],d[MAX],ans=0,n;

void work(int x,int r)
{
	int v1,v2,f,l;
	v1=x/2;
	v2=x/2+1;
	f=v2-r;
	l=v1+r;
	if(f<0 || l==f) return;
	/*else 
		{
			s[ans]=f;
			d[ans]=l;
			ans++;
		}*/
	cout<<f<<" "<<l;
	cout<<endl;
}

void job(int x,int r)
{
	int v,f,l;
	v=r/2;
	f=x-v;l=x+v;
	if(f<0 || l==f) return;
	/*else 
		{
			s[ans]=f;
			d[ans]=l;
			ans++;
		}*/
	cout<<f<<" "<<l;
	cout<<endl;
}


int main() 
{
	
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		if((n%i)==0)
		{
			a[i]=n/i;
		}
		else continue;
		if(a[i]%2==1)
		{
			job(i,a[i]);
		}
		else if(a[i]%2==0)
		{
			if(i%2==1&&a[i]%2==0)
			{
				work(i,a[i]);
			}
		}
	}
	/*sort(s+1,s+1+n);
	for(int i=1;i<=ans;i++)
	{
		cout<<s[i]<<" "<<d[i];
		cout<<endl;
	}*/
	return 0;
}
2021/7/7 22:48
加载中...