求助:求N以内的所有数的约数
  • 板块学术版
  • 楼主Esawkm
  • 当前回复16
  • 已保存回复16
  • 发布时间2022/6/5 20:39
  • 上次更新2023/10/27 23:54:41
查看原帖
求助:求N以内的所有数的约数
642481
Esawkm楼主2022/6/5 20:39

RT,朴素的过不去。

代码

#include<bits/stdc++.h>
using namespace std;
int n,ji[1005555],cnt;
void write(int x) {
     if(x<0) putchar('-'),x=-x;
     if(x>9) write(x/10);
     putchar(x%10+'0');
     
}
void work(int n){
	cnt=0;
	for(int i=1;i*i<=n;i++)
	{
		if(i*i==n)
		cnt++,ji[cnt]=i;
		else
		if(n%i==0)
		{
			cnt++;
			ji[cnt]=i;
			cnt++;
			ji[cnt]=n/i;
		}
	}
	sort(ji+1,ji+cnt+1);
	for(int i=1;i<=cnt;i++){
		write(ji[i]);
		putchar(' ');
	}
	putchar('\n');	
}
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	work(i);
    return 0;
}
2022/6/5 20:39
加载中...