|
发表于 2022-4-10 13:04:15
|
显示全部楼层
本帖最后由 jhq999 于 2022-4-10 15:10 编辑
一个数的除了1之外最小的因数一定是质数
- int main()
- {
- unsigned long long val=45,yinzi=2;
- printf("输入一个数字:");
- scanf_s("%llu",&val);
- for (int i = yinzi; i < val/yinzi ;i++)
- {
- while(val%yinzi)//最小的因子一定是质数因子
- {
- yinzi++;
- }
- printf("%llu,",yinzi);
- val/=yinzi;
- while(!(val%yinzi))
- {
- val/=yinzi;
- printf("%llu,",yinzi);
- }
-
-
- }
-
- if(val>1)printf("%llu",val);
-
- printf("最大因子:%llu",val>yinzi?val:yinzi);
- return 0;
- }
复制代码- int main()
- {
- long long num=78,sum=1,i=2;//,a=i;
- for (; i < num; i++)//分解因数
- {
- if(0==num%i)
- {
- num=num/i;
- //if(a!=i)printf("%lld,",i),a=i;
- printf("%lld×",i);
- sum*=i;
- //a=i;
- i--;//一个数的因子的最小因子不小于这个数的最小因子
-
- }
- }
- //if(a!=num)printf("%lld",num),a=i;
- printf("%lld=%lld",num,sum*num);
- return 0;
- }
复制代码- 71×839×1471×6857=600851475143
复制代码 |
|