题目描述

p^q表示p的q次方,正整数M可以分解为M=(p1^a1)*(p2^a2)*(p3^a3)*……*(pn^an)的形式,其中p1,p2……pn为质数(大于1并且只能被1和自身整除的数叫做质数)。a1,a2……an为整数。例如18=(2^1)*(3^2),45=(3^2)*(5^1)。

给出n和一个质数g,以及正整数M分解后的形式,求M的所有约数中,有多少能被g整除。

输入

第一行 两个数 n和g。 0<n<=10 1<g<100。g为质数。

第二行 n个数 p1到pn  1<pi<100 pi为质数(1<=i<=n)。

第三行 n个数 a1到an  0<=ai<=20 ai为整数(1<=i<=n)。

保证对于任意的i,j(i != j) ,pi != pj

输出

一个数

表示M的所有约数中,有多少能被g整除。

样例输入

2 3
3 5
2 2

样例输出

6

提示

样例解释:

M=(3^2)*(5^2)=9*25=225

225能被3整除的约数有3 9 15 45 75 225 共6个。

 
 
(划重点)
算了懒得打字了..直接安利吧
blog:https://blog.csdn.net/QLU_minoz/article/details/84558501
#include<cstdio>
#include<iostream>
using namespace std;
int a[105],b[105],c[105];
int main(){
int n,g;
cin>>n>>g;
long long ans=0;
int x=0;
for(int i=1;i<=n;i++){
cin>>a[i];
if(a[i]==g){
x=i;
} }
int pn;
for(int i=1;i<=n;i++){
cin>>b[i];
if(i==x){
pn=b[i];
}
}
ans=pn;
for(int i=1;i<=n;i++){
if(i!=x){
ans+=ans*b[i];
}
}
if(x==0){
cout<<0;
}else{
cout<<ans;
}
return 0;
}

  

最新文章

  1. Rectangle Area
  2. node.js 学习
  3. Android常用客户端测试工具
  4. JS入门之ActiveXObject对象(转载)
  5. 使用while循环语句和变量输出九九乘法表
  6. Python科学计算环境推荐——Anaconda
  7. Windows安装Python包下载工具pip遇到的问题
  8. AJAX技术的核心
  9. goahead 移植
  10. shu_1241 邮局位置问题
  11. iOS开发——判断手机格式
  12. Spring Boot 系列(七)Swagger2-生成RESTful接口文档
  13. iOS悬浮窗口(无论界面跳转、View始终在视图上显示,可移动)
  14. stl测试
  15. RBAC权限控制系统
  16. “数学口袋精灵”第二个Sprint计划(第四天)
  17. Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二十)ES6.2.2 Client API
  18. JavaScript 之 动态加载JS代码或JS文件
  19. GridView动态添加列并判断绑定数据DataTable的列类型控制展示内容
  20. [Kafka] - Kafka Java Consumer实现(二)

热门文章

  1. Linux用户、群组和权限命令总结
  2. Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第九章:贴图
  3. Libevent:1前言
  4. du,df区别
  5. @codeforces - 455E@ Function
  6. jmter对于函数的处理
  7. HZOJ 数颜色
  8. 4 文件操作 支持图片 视频 mp3 文本等
  9. H3C 快速以太网和千兆以太网
  10. SuperSocket内置的命令行协议