NOI機試 1.6.13:大整數的因子

30位數太大了,直接用%自然是行不通的,所以用高精度來做。

#include<bits/stdc++.h>
using namespace std;
char s[35];
int s1[35];
int main()
{
	scanf("%s",s);
	int n=strlen(s),x;
	for(int i=0;i<n;i++)
	{
		s1[i]=s[i]-'0';
	}
	bool fg=true;
	for(int k=2;k<=9;k++)
	{
		x=0;
		for(int i=0;i<n;i++)
		{
			x=x*10+s1[i];
			x=x%k;
		}
		if(x==0)
		{
			printf("%d ",k);
			fg=false;
		}
	}
	if(fg)
	{
		printf("none");
	}
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章