HDU 2161Primes(判断是否是素数)

Primes

Time Limit: 1000MS   Memory Limit: 32768KB   64bit IO Format: %I64d & %I64u

Submit
Status

Description

Write a program to read in a list of integers and determine whether or not each number is prime. A number, n, is prime if its only divisors are 1 and n. For this problem, the numbers 1 and 2 are not considered primes.

Input

Each input line contains a single integer. The list of integers is terminated with a number<= 0. You may assume that the input contains at most 250 numbers and each number is less than or equal to 16000.

Output

The output should consists of one line for every number, where each line first lists the problem number, followed by a colon and space, followed by "yes" or "no".

Sample Input

1
2
3
4
5
17
0 

Sample Output

1: no
2: no
3: yes
4: no
5: yes
6: yes 

题意:给出一个数,不是很大的数,问是否是素数

思路:暴力法即可。

<span style="font-size:18px;">#include <cstdio>
#include <iostream>
#include <cstring>
#include <cmath>
#include <string>
#include <algorithm>
#include <queue>
#include <stack>
using namespace std;

const double PI = acos(-1.0);
const double e = 2.718281828459;
const double eps = 1e-8;

int IsPrime(int n)
{
    if(n==1 || n==2)
        return 0;
    if(n%2 == 0)
        return 0;
    for(int i = 3; i*i <= n; i += 2)
        if(n%i == 0)
            return 0;
    return 1;
}

int main()
{
    //freopen("in.txt", "r", stdin);
    //freopen("out.txt", "w", stdout);
    int n;
    int num = 1;
    while(scanf("%d", &n)!=EOF)
    {
        if(n <= 0)  // 此题的最大坑,没有之一
            break;
        printf("%d: ", num++);
        if(IsPrime(n))
            printf("yes\n");
        else
            printf("no\n");
    }
    return 0;
}

</span>
时间: 2024-10-12 20:54:22

HDU 2161Primes(判断是否是素数)的相关文章

python读取一个文件的每一行判断是否为素数,并把结果写到另一个文件中

刚刚学习python的菜鸟,这道题包括:文件的读写,python的参数调用,异常的使用,函数的使用 创建一个文本文件inti_prime.txt 执行命令:python Prime.py init_prime.txt result_prime.txt 会生成一个result_prime.txt文件 1 #-*- coding:UTF-8 -*- 2 #读取一个文件的每一行,每一行为一个数字 3 #判断数字是不是素数 4 #并打印结果到另外一个文件 5 #输入文件名和输出文件名用参数的形式 6 i

HDU 4228 Flooring Tiles 反素数

推出了结论,万万没想到最后用搜索.. 还想dp来着.. #include <cstdio> #include <cstring> #include <iostream> #include <algorithm> #include <math.h> #include <set> #include <vector> #include <map> using namespace std; #define ll lon

HDU 4228 Flooring Tiles 反素数的应用

给你一个数N,找出一个最小的可以拆分成N种乘积表达形式的数x 比如N=2,6可以拆成2x3或者1x6两种,但不是最小的,最小的是4可以拆成1x4,2x2两种 首先可以肯定的是x必然有N*2或者是N*2-1(完全平方的情况)个约数 利用求反素数的过程求出约数为N*2和N*2-1个的最小的数 #include <cstdio> #include <sstream> #include <fstream> #include <cstring> #include &l

hdu 4587 判断孤立点+割点+ 删除点之后,剩下多少连通分量

做了很久...... 题目链接:  http://acm.hdu.edu.cn/showproblem.php?pid=4587 先枚举删除的第一个点,第二个点就是找割点,没有割点当然也有答案 学到的: 1.图论硬套模板不太现实,比如这道题,我能想到孤立点是特殊情况,删除孤立点,连通分支个数会减少一,但是一直处理不好,最后按缩点的做法搞了, 判断是不是孤立点的方法: 就是先用一个数组scnt[i]=j,vv[j]++  表示点i在以j为祖先的联通分支里,而且每次都让vv[j]++,就使得vv[j

HDU 3641 Treasure Hunting (素数拆分)

题意:有N个ai,bi,M=a1^b1*a2^b2*a3^b3-*an^bn ,求最小的 x 使得 x! % M ==0. 思路:把M分成多个素数相乘,num[i] 记录素数 i 的个数,然后二分找到x,若 x! 中所有 i 的个数满足>=num[i] 即为答案. #include<cstdio> #include<stdlib.h> #include<string.h> #include<string> #include<map> #in

键盘输入一个整数,判断是否是素数

/* ============================================================================ Name        : prime.c Author      : zhangsan Version     : Copyright   : Your copyright notice Description : 键盘输入一个整数,判断是否是素数 ============================================

CSU1552: Friends(快速判断大数是不是素数+二分匹配)

1552: Friends Time Limit: 3 Sec  Memory Limit: 256 MB Submit: 187  Solved: 43 [Submit][Status][Web Board] Description On an alien planet, every extraterrestrial is born with a number. If the sum of two numbers is a prime number, then two extraterrest

JAVA基本算法面试题:2判断并输出素数

题目:判断101-200之间有多少个素数,并输出所有素数. 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数.    public class Test001{ public static void main(String[] args){ System.out.println("100到200之间的素数:"); System.out.println("总计多少个素数:"+prime()); } pub

判断10000000以内素数的方法---进化过程

一:暴力求解(直接根据素数的定义) //返回1:是素数:返回0:非素数 int isPrime(int n){ int i; if(n<2) return 0; for(i=2;i<n;i++) if(n%i==0) return 0; return 1;} 然而想要通过此方法快速获得10000000以内的素数总数的话,难......二:除去部分因数求解(平方根和偶数助力) 首先,能被2整除的数----非素数: 其次,举例数36,开方得6.好,我们来看看25可以分解成哪些因数. 正序来看,36