博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CCF NOI1069
阅读量:5961 次
发布时间:2019-06-19

本文共 732 字,大约阅读时间需要 2 分钟。

题目描述

给出一个正整数a,要求分解成若干个正整数的乘积,即a=a1*a2*a3*...*an,并且1<a1<=a2<=a3<=...<=an,问这样的分解方案有多少种。注意a=a也是一种分解。

输入

第一行是测试数据的组数n,后面n行,每行包括一个正整数a(1<a<32768)。

输出

N行,每行输出一个个正整数,表示分解方案数。

样例输入

2220

样例输出

14

数据范围限制

1<a<32768

 

分析:数据范围比较小,递归来做。

 

#include
int ans;void f(int n,int i){ if(n==1) {ans++;return;} while(i<=n) { if(n%i==0) f(n/i,i); i++; }}int main(){ int T,N; scanf("%d",&T); while(T--) { scanf("%d",&N); ans=0; for(int i=2;i<=N;i++) if(N%i==0) f(N/i,i); //a=a1*a2*a3*...*an,枚举a1从小到大 printf("%d\n",ans); } return 0;}
View Code

 

转载于:https://www.cnblogs.com/ACRykl/p/8330139.html

你可能感兴趣的文章
QQ把游戏放进聊天框,这一点Facebook和微信都没做到
查看>>
在线匿名之父意欲终结“加密战争”
查看>>
WLAN市场销量逐步逼近有线网络
查看>>
SDN市场或许进入了慢热期
查看>>
教你使用Linux系统的Shell脚本维护Oracle
查看>>
力龙信息布局大数据领域
查看>>
大数据巧治职业差评师 生存空间锐减九成
查看>>
天津开展免费无线局域网建设
查看>>
提高信息安全意识对网络勒索病毒说不
查看>>
英国政府可能利用曼彻斯特自杀袭击要求互联网公司破解加密
查看>>
Mozilla 将大幅简化火狐浏览器的同步操作
查看>>
微软加大在 Edge/IE 浏览器上阻止 SHA-1 证书的力度
查看>>
龙芯将两款 CPU 核开源,这意味着什么?
查看>>
《51单片机应用开发从入门到精通》——导读
查看>>
iOS深拷贝与浅拷贝
查看>>
mysql5.6参数说明
查看>>
[转]线程安全的单例模式
查看>>
winfrom的打开窗口特效
查看>>
IOS(swift)-数据存储 · NSKeyedArchiver 归档
查看>>
TypeScript 入门指南
查看>>