咖啡


私信TA

用户名:Tianxn

访问量:138089

签 名:

十年OI一场空,不开LL见祖宗。

等  级
排  名 10
经  验 27291
参赛次数 10
文章发表 197
年  龄 22
在职情况 学生
学  校 西安电子科技大学
专  业 软件工程

  自我简介:

解题思路:
                我们只用从2开始判断就好,不用判断是否为素数,因为如果能被2整除,那么会一只除2,直到2不行为止,那么2都不可以了,4、8等2的倍数肯定不可以!3、5、7、11、等等同理于2;


然后就是 * 的处理了, n每次处理依次就会减小,知道n=i的时候,下一步n就等于0了,我们只用判断n==i?

如果等于,那么就步需要输出 *.
注意事项:

参考代码:

#include <cstdio>
int main()
{
	int n;
	scanf("%d", &n);
	printf("%d=", n);
	for(int i = 2; i <= n; ++i)
	{
		while(n%i == 0 && n != i)
		{
			printf("%d*", i);
			n /= i;
		}
		if(n == i)
		{
			printf("%d\n", n);
		}
	}
    return 0;
}


 

0.0分

13 人评分

  评论区

66666
2024-03-28 20:46:48
6
2023-01-27 18:54:55
nb
2022-02-23 15:05:59
  • «
  • 1
  • »