ACM课内练习_1
Posted niboss
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ACM课内练习_1相关的知识,希望对你有一定的参考价值。
题意很简单就是一个一个素数因子只有2,3,5,7的整数,让你求它的约束的个数(暴力会超时),一开始的思路是先计算2,3,5,7这四个素数因子的个数,求出来之后想了很久没有想出他们个数和约束个数之间的数学关系,后来看了别人的代码,自己画了张图分析了一下,将2,3,5,7的个数全部加上1之后的四个数的乘积就是约数的个数(可以画棵树分析一下)
例如:12=2*2*3
1.从根部1出发,两个素因数2,所以有三种可能
一个二都不乘: 1
乘一个二: 2
乘两个二: 4
2.然后从 1,2,4 出发 ,有6种可能
1,2,4每个两种,要么保持原来的值不变,要么乘以3
也就是1,3 2,6 4,12 这六种情况
1 while (scanf("%I64d", &n), n) 2 { 3 Int num[4] = {2, 3, 5, 7}; 4 int ans[4] = {1, 1, 1, 1};//由在算的时候没有把0个2,0个3,0个5或者0个7的情况计算进去,所以一开始就加上 5 for (int i = 0; i < n; i++) 6 { 7 while (n != 1 && n % num[i] == 0)//算出2,3,5,7的个数 8 { 9 ans[i]++; 10 n /= num[i]; 11 } 12 } 13 printf("%d ", ans[0] * ans[1] * ans[2] * ans[3]); 14 }
链接:https://blog.csdn.net/weixin_42165786/article/details/80318236
以上是关于ACM课内练习_1的主要内容,如果未能解决你的问题,请参考以下文章
python3 牛客网:OJ在线编程常见输入输出练习(ACM模式)
ACM算法练习-——ZJU1164-Software CRC
Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段