判断水仙花数,质数(素数)

#include<stdio.h>
#include<stdbool.h>

//水仙花数--各位立方和等于本身
void sXh()
{
    int x,y,z;
    printf("查找出三位数的水仙花数\n");
    for(int i=100; i<=999; i++)
    {
        x = i/100;
        y = i%100/10;
        z = i%100%10;
        if(i == x*x*x + y*y*y + z*z*z)
            printf("%d,",i);
    }
    printf("\n");
}
//判断一个数是不是质数
void isPri()
{
    int x;
    bool isP = true;
    printf("输入一个数,判断是否为质数!\n");
    scanf("%d",&x);
    for(int i=1; i<x; i++)
    {
        if(x%i == 0 && i != 1)
            isP = false;
    }
    if(isP)
        printf("%d是质数\n",x);
    else
        printf("%d不是质数\n",x);

}
//输出n到m之间所有的质数
void isPris()
{
    int n,m,i;
    bool isP = true;
    printf("输入两个数,输出两个数之间的所有质数!\n");
    scanf("%d%d",&n,&m);
    for(i=n; i<=m; i++)
    {
        isP = true;
        for(int j=2; j<i; j++)
        {
            if(i%j == 0 && i != 1)
                isP = false;
        }
    if(isP && i != 1)
        printf("%d ",i);
    }
}
int main(void)
{
    sXh();
    isPri();
    isPris();
    return 0;
}

运行如下:

查找出三位数的水仙花数


153,370,371,407,


输入一个数,判断是否为质数!


157


157是质数


输入两个数,输出两个数之间的所有质数!


1 100


2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97

 
时间: 2024-12-22 14:35:03

判断水仙花数,质数(素数)的相关文章

判断水仙花数

while 1 : number = input("请输入一个三位数:") sum = 0 if number.isdigit(): for i in number: sum = sum + int(i)**3 if sum == int(number): print("这是一个水仙花数") else: print("这不是一个水仙花数") elif number.upper() == "Q": break else: pri

js算法集合(一) 水仙花数 及拓展(自幂数的判断)

js算法集合(一) ★ 最近有些朋友跟我说对js中的一些算法感到很迷惑,知道这个算法到底是怎么回事,但是就是不会用代码把它写出来,这里我跟大家分享一下做水仙花数的算法的思路,并对其扩展到自幂数的算法,希望能对大家有所帮助. 1.验证一个数是否为水仙花数 ①要写水仙花数的算法,我们首先来了解一下什么是水仙花数,水仙花数是指一个 3位正整数 ,它的每个位上的数字的 3次幂之和等于它本身.(例如:1^3 + 5^3+ 3^3 = 153): ②了解了什么是水仙花数我们就开始分析该怎么下手.通过定义来看

水仙花数的判断问题

问题描述:编写一个方法判断所传递参数是否为水仙花数 涉及变量: num:int型变量,所传递参数,要判断是否为水仙花数的对象 list:String型变量,将num转化为字符串类型,为了将num各个数字分开的中转站 number:int[]型变量,存放num的各位上的数字 sum:int型变量,用于存储各位的立方之和 大致思路: 水仙花数:一个数各位上的数字的立方之和等于其本身,该数被称为水仙花数. 举个例子,153,各位上的数字分别是1,5,3,  1^3+5^3+3^3==153,故其为水仙

编写一个程序找出100~999之间所有的水仙花数

如果一个3位数等于其各位的立方和,称该数为水仙花数. 如,所以407是一个水仙花数,编写一个程序找出100~999之间所有的水仙花数. 1 #include<stdio.h> 2 #include<stdlib.h> 3 //判断水仙花数,是则返回1 4 int isNarcissus(int n); 5 6 int main() 7 { 8 int i; 9 for(i = 100; i < 1000; i++) 10 if(isNarcissus(i)) 11 print

水仙花数&amp;素数&amp;质因数分解的C语言实现

最近,我翻了一下之前的C语言教材,看了三个有意思的小程序,包括:寻找"水仙花数".判断某数是否为素数.对一个数进行质因数分解.我想把这三个东西放到一个程序中,便写下了此文. 算法步骤 1. 寻找"水仙花数". "水仙花数"是指一个三位数,其各位数字的立方和等于该数本身.例如:153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方. 2. 判断某数是否为素数. 素数是指只能被1和它本身整除的数,判断一个数是否为

JS基础练习:奇偶数、质数、闰年、水仙花数、完美数、累加、累乘、多位数拆分等

2018年8月1日       广州 这几天学习JS基础的运算符和语句,经常写到一些经典的例子,这里记录下. 很多数学概念不懂,就想不出算法,也就写不出来.所以也算对特殊的数学概念作个了解吧. 一.数值奇偶性的判断 概念:一个整数能被2整除的是偶数,不能被2整除的是奇数. 代码示例: 1 <script> 2 var num = parseInt(prompt("请任意输入一个整数:")); 3 if (num === 0 ) { 4 console.log("0

Java杂谈之二----怎样判断一个数是水仙花数以及穷举水仙花数

首先明确一下什么是水仙花数 百度说,水仙花数指一个n位数(n>=3),它的每个位上的数字的n次幂之和等于它本身 例如:1^3+5^3+3^3=153 水仙花数只是自幂数的一种,严格来说三位数的3次幂数才能成为水仙花数. 但其实也分一位自幂数,两位自幂数,三位自幂数,四位自幂数等等. 所以鉴于水仙花数的定义的不确定和模糊性 以下代码示例不仅限于三位数的水仙花数,主要涉及的是思想问题. 类名:JavaNarcissus 构造函数:JavaNarcissus() 判断一个数是否为水仙花数:IsNarc

写一个函数,判断一个正整数是否是水仙花数(扩展n位的自幂数)

//参数number是待判断的正整数,n为正整数位数(3位则为水仙花数),满足条件则返回1,反之返回0 bool isZiMiShu(int number, int n) { int __num = number, a[n], sum = 0, i = 0; while (number > 0) { a[i] = number % 10; sum += pow(a[i], n); number = (number - number % 10) / 10; i++; } return __num

C#:判断100--999之前的水仙花数

//判断100--999之前的水仙花数.水仙花数举例:153=13+53+33. using System;public class Program  {    public static void Main()      {         int a,b,c,d,e;         for(int num=100;num<=999;num++)            {               a=num%10;//得到个位数字               c=num/10%10;//