zoukankan      html  css  js  c++  java
  • Codeforces 1243C Tile Painting(素数)

    思路:

    1.如果是素数,答案就是这个数;
    2.找出所有可以被这个数整除的素数,如果只有一个素数,这个素数即是答案;否则不同素数占有的区间必定交汇,那么只有一个颜色;

    代码:

    #include<bits/stdc++.h>
    using namespace std;
    typedef pair<int,int> P;
    typedef long long LL;
    #define fi first
    #define sc second
    #define pb(a) push_back(a)
    #define mp(a,b) make_pair(a,b)
    #define pt(a) cerr<<a<<"---
    "
    #define rp(i,n) for(int i=0;i<n;i++)
    #define rpn(i,n) for(int i=1;i<=n;i++)
    bool is_prime(LL n){
    	for(LL i=2ll;i*i<=n;i++){
    		if(n%i==0) return false;
    	}
    	return n!=1ll;
    }
    void solve(LL n){
    	map<LL,int> res;
    	for(LL i=2;i*i<=n;i++){
    		if(res.size()>1) break;
    		while(n%i==0){
    			++res[i];
    			n/=i;
    		}
    	}
    	if(n!=1ll) res[n]=1;
    	if(res.size()==1) cout<<(*res.begin()).fi;
    	else cout<<1;
    }
    int main(){
    	ios::sync_with_stdio(false);
    	cin.tie(nullptr);
    	LL n; cin>>n;
    	if(is_prime(n)) cout<<n;
    	else solve(n);
    	return 0;
    }
    
  • 相关阅读:
    MYSQL数据库导入SQL文件出现乱码解决方法
    Mysql设置允许用户可以连接
    MongoDB 设置权限认证
    NodeJs 服务端调试
    Hudson 定时编译
    Ubuntu上NodeJs环境安装
    新开通博客
    war类型项目创建
    Maven项目创建
    Maven简介与配置
  • 原文地址:https://www.cnblogs.com/yuhan-blog/p/12308746.html
Copyright © 2011-2022 走看看