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模式下的输入输出格式练习

ACM算法练习-——ZJU1164-Software CRC

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

acm刷题序列

暑假反思