水仙花数和完全数
水仙花数
1.“水仙花数”是指这样的数,其各位数字的立方和等于该数本身.编写程序求100至999的范围内有多少个水仙花数#include<stdio.h>main(){int dig,k,m,s,count;count=0;for(k=100;k<=999;k++){dig=0;s=0;dig=k/100;s=s+dig*dig*dig;m=k%100;while(m!=0){dig=m%10;s=s+dig*dig*dig;dig=m/10;s=s+dig*dig*dig;m=0;}if(s==k){count++;}}printf("%d\n",count);}2.(x,y,z)满足方程:x^2+y^2+z^2=55^2(注:要求x>y>z);则(x,y,z)称为方程的一个解.试求方程的整数解(包括负整数解)的个数.#include<stdio.h>main(){int x,y,z,s,n=0;for(x=-55;x<=55;x++)for(y=-55;y<x;y++)for(z=-55;z<y;z++){s=x*x+y*y+z*z;if(s==3025)n++;}printf("%d\n",n);}3.”水仙花数”是指这样的数,其各自数字的立方和等于该数本身.编写程序求100至400的范围内有多少的水仙花数. #include<stdio.h>main(){int dig,k,m,s,count;count=0;for(k=100;k<=400;k++){dig=0;s=0;dig=k/100;s=s+dig*dig*dig;m=k%100;while(m!=0){dig=m%10;s=s+dig*dig*dig;dig=m/10;s=s+dig*dig*dig;m=0;}if(s==k){count++;}}printf("%d\n",count); }4.50元的整币兑换成5元,2元,1元币值(三种币值均有,缺少一种或两种都计算在内)的方法有多少种.#include<stdio.h>main(){int a,b,c,s,count=0;for(a=0;a<=10;a++)for(b=0;b<=25;b++)for(c=0;c<=50;c++){s=5*a+2*b+c;if(s==50)count++;}printf("%d\n",count);}5.A,B,C是三个小于或等于100正整数,当满足1/A^2+1/B^2=1/C^2关系时,称为倒勾股数.求130<A+B+C<150且A>B>C的倒勾股数有多少组.#include<stdio.h>main(){int A,B,C,n=0;for(A=1;A<=100;A++)for(B=1;B<A;B++)for(C=1;C<=B;C++){if((A+B+C)>130&&(A+B+C)<150&&(1.0/(A*A)+1.0/(B* B)==1.0/(C*C)))n++;}printf("%d\n",n);}6.爱婴斯坦走台阶:有一台阶,如果每次走二阶,最后剩一阶;如果每次走三阶,最后剩两阶;如果每次走四阶,最后剩三阶; 如果每次走五阶,最后剩四阶;如果每次走六阶,最后剩五阶;如果每次走七阶,刚好走完.求满足上述条件的最小台阶数是多少?#include<stdio.h>main(){long int x;for(x=0;x<=10000000;x++){if(x%2==1&&x%3==2&&x%4==3&&x%5==4&&x%6 ==5&&x%7==0)break;}printf("%ld\n",x);}7.编程求[120,140]之间的弦数的个数(若某正整数的平方等于另两个正整数平方值和,则称该数是弦数.例如3^2+4^2=5^2,因此5是弦数).#include<stdio.h>main(){int i,j,k,s,count=0;for(k=121;k<=140;k++)for(i=1;i<140;i++)for(j=1;j<=i;j++){s=i*i+j*j;if(s==k*k){printf("%d ",k);count++;}}printf("[121,140]之间的弦数个数是:%d\n",count);}8.编写程序,计算1000以内有多少个这样的数,其十位为6且能被8整除.#include<stdio.h>main(){int a,b,c,i;int count=0;for(i=10;i<1000;i++){a=i%100;b=a/10;c=i%8;if(b==6&&c==0)count++;}printf("1000以内有%d个这样的数\n",count);}9.编写程序,计算在[0,60]的范围内有多少个数,其每位数的乘积大于每位数的和.#include<stdio.h>main(){int a,b,i;int count=0;for(i=0;i<=60;i++){a=i/10;b=i%10;if(a*b>a+b)count++;}printf("%d\n",count);}10.编写程序,求1到5000之间的能被5整除前若干个偶数之和,当和值大于500时退出,输出该和值.#include<stdio.h>main(){int i,a,s=0;for(i=1;i<=5000;i++){a=i%10;if(a==0)s+=i;if(s>500)break;}printf("%d\n",s);}11.编写程序,求出1~7000以内能被3或7整除的数的个数. #include<stdio.h>main(){int i,n=0;for(i=1;i<=7000;i++){if(i%3==0||i%7==0)n++;}printf("%d\n",n);}12.编写程序,求出100到500之间同时满足初3余2和处5余3条件的数的个数.#include<stdio.h>main(){int i,a,b,count=0;for(i=100;i<=500;i++){a=i%3;b=i%5;if(a==2&&b==3)count++;}printf("%d\n",count);}13.编写程序.求出3到100之间的所有非偶数非素数的数之和.main(){int a,i,j,s=0;for(i=3;i<=100;i++){for(j=2;j<i;j++){a=i%j;if(a==0)break;}if(a==0&&i%2!=0)s+=i;}printf("%d\n",s);}14.编写程序,求共有几组i,j,k符合算式ijk+kji=1534,其中I,j,k是[0,9]之间的一个整数且i<k.main(){int i,j,k,s=0,count=0;for(j=0;j<=9;j++)for(k=0;k<=9;k++)for(i=0;i<k;i++){s=i*101+j*20+k*101;if(s==1534)count++;}printf("%d\n",count);}15.编写程序,求满足下列条件的所有四位数ABCD的个数,该四位数是11的倍数,且A=B+C,即第2位数加上第3位数等于第1位数.#include<stdio.h>main(){int i,a,b,c,count=0;for(i=1000;i<10000;i++)a=i/1000;b=(i%1000)/100;c=((i%1000)%100)/10;if((i%11==0)&&(a-b-c==0))count++;}printf("%d\n",count);}16.编写程序,求三位数的偶数中,所有各位数字之和是15的倍数的数的个数.#include<stdio.h>main(){int i,a,b,c,count=0;for(i=100;i<1000;i+=2){a=i/100;b=(i%100)/10;c=(i%100)%10;if((a+b+c)%15==0)count++;printf("%d\n",count);}17.编写程序,求四位数的奇数中,所有各位数字之积(且不为0)是125的倍数的数的和.#include<stdio.h>main(){int a,b,c,d,i,s=0;for(i=1001;i<10000;i+=2){a=i/1000;b=(i%1000)/100;c=((i%1000)%100)/10;d=((i%1000)%100)%10;if(((a*b*c*d)%125==0)&&(a*b*c*d)!=0)s+=i;}printf("%d\n",s);}18.编写程序,求一正整数等差数列的前六项的和,该数列前四项之和是26,四项之积是880.#include<stdio.h>main(){int a,d;for(a=1;a<=6;a++)for(d=1;d<=4;d++){if(4*a+6*d==26&&a*(a+d)*(a+2*d)*(a+3*d)==880)printf("sum=%d\n",6*a+15*d);}}19.编写程序,求在5000以内能被17或者23整除的正整数个数.#include<stdio.h>main(){int i,count=0;for(i=1;i<5000;i++){if((i%17==0)||(i%23==0))count++;}printf("%d\n",count);}20.编写程序.求在四位数的偶数中.所有各位数字之和是30的倍数的数的和.#include<stdio.h>main(){int i,a,b,c,d,s=0;for(i=1000;i<10000;i+=2){a=i/1000;b=(i%1000)/100;c=((i%1000)%100)/10;d=((i%1000)%100)%10;if((a+b+c+d)%30==0)s+=i;}printf("%d\n",s);}21.编写程序.统计1000~9999之间的所有满足以下条件的四位数的个数.该书是一个完全平方数,且第1,2位数字之和为12,第3,4位数字之和为24.#include<stdio.h>main(){int s,s1,s2,s3,s4,i,count=0;for(i=32;i<100;i++){s=i*i;s1=s/1000;s2=s%1000/100;s3=s%1000%100/10;s4=s%1000%100%10;if(s1+s2==12&&s3*s4==24)count++;}printf("%d\n",count);}22.编写程序,已知:S=1+3+5+7+9+……,求S不大于9000的最大值.#include<stdio.h>main(){int i=1,s=0;while(s<=9000){s+=i;i+=2;}s=s-i+2;printf("s=%d\n",s);}23.编写程序,已知:S=2+4+8+16+32+…..,求S不大于1500的最大值.#include<stdio.h>main(){int i=1,s=0;while(s<1500){i=2*i;s=s+i;}s=s-i;printf("s=%d\n",s);}24.除1和他本身外,不能被其他整数整除的正整数称为素数(注:1不是素数,2是素数).若两数之差为2,则称两素数为双胞胎数,问[31,601]之间有多少对双胞胎数.#include "stdio.h"#include "math.h"int sushu(int n){ int i;for(i=2;i<=sqrt(n);i++)if(n%i==0)return 0;return 1;}main(){int i,count=0;for(i=31;i<=601;i++)if(sushu(i)&&sushu(i-2))count++;printf("%d\n",count);getch();}25.当m值为50时,计算下列公式的值:T=1-1/2-1/3-1/4-…..-1/m.要求:按四舍五入的方式精确到小数点后四位.#include<stdio.h>main(){int i;double T=1;for(i=2;i<=50;i++){T=T-1.0/i;}printf("%.4f\n",T);}26,当n的值为25时,计算下列公式的值:s=1+1/1!+1/2!+1/3!+1/n!.要求:按四舍五入的方式精确到小数点后四位.#include<stdio.h>main(){int i;float t=1,s=1;for(i=1;i<=25;i++){t=t*1.0/i;s=s+t;}printf("%.4f\n",s);}27.斐波那契数列的前两项是1,1,其后每一项都是前面两项之和,求:10000000以内最大的斐波那契额数?#include<stdio.h>main(){int s1=1,s2=1,a=0,i=0,t;while(a<10000000){a=s1+s2;i=a;t=s2;s2=i;i=t;t=s1;s1=i;i=t;}printf("%d\n",a-i);}28.计算y=1+2/3+3/5+4/7+…….+n/(2*n-1)的值,n=50,要求:按四舍五入的方式精确到小数点后两位,#include<stdio.h>main(){int n=50,i;float y=0;for(i=1;i<=n;i++){y=y+(float)i/(2*i-1);}printf("y=%.2f\n",y);}29 计算Y=X/1!-X^3/3!+X^5/5!-X^7/7!+……前20项的值(已知:X=2)。
#【数学】【数论】几个特殊的数
#【数学】【数论】⼏个特殊的数素数 ⼤于1且不被其他整数(除了1和其本⾝)整除的整数。
质数定义为在⼤于1的⾃然数中,除了1和它本⾝以外不再有其他因数。
⽰例:2,3,5,7,11,13,17,19,23,29,31,37,39,41...回⽂数 “回⽂”是指正读反读都能读通的句⼦,它是古今中外都有的⼀种修辞⽅式和⽂字游戏,如“我为⼈⼈,⼈⼈为我”等。
在数学中也有这样⼀类数字有这样的特征,成为回⽂数(palindrome number)。
设n是⼀任意⾃然数。
若将n的各位数字反向排列所得⾃然数n1与n相等,则称n为⼀回⽂数。
例如,若n=1234321,则称n为⼀回⽂数。
注意: 1.偶数个的数字也有回⽂数124421 2.⼩数没有回⽂数 ⽰例: 1千以内的回⽂数 在⾃然数中,最⼩的回⽂数是0,其次是 1,2,3,4,5,6,7,8,9,11,22,33,44,55,66,77,88,99,101,111,121,131,141,151,161,171,181,191,202,212,222,232,242,252,262,272,282,292,303,313,323,333,343,353,363,373,383,393,404,414,424,434,444,45 505,515,525,535,545,555,565,575,585,595,606,616,626,636,646,656,666,676,686,696,707,717,727,737,747,757,767,777,787,797,808,818,828,838,848,858,868,878,888,898,909,919,929,939,949,959 ⼈们迄今未能找到⾃然数(除0和1)的五次⽅,以及更⾼次幂的回⽂数。
于是数学家们猜想:不存在n^k(n≥2,k≥5;n、k均是⾃然数)形式的回⽂数。
在电⼦计算器的实践中,还发现了⼀桩趣事:任何⼀个⾃然数与它的倒序数相加,所得的和再与和的倒序数相加,……如此反复进⾏下去,经过有限次步骤后,最后必定能得到⼀个回⽂数。
水仙花数有哪些
水仙花数有哪些水仙花数是指一个三位数,其个位、十位和百位数字的立方和等于该数本身的数。
水仙花数是一个非常有趣的数学现象,因为它们既具有一定的规律性,又具有一定的特殊性。
下面我们将详细介绍水仙花数的定义、特征以及一些实例。
首先,我们来定义水仙花数。
一个三位数可以表示为abc,其中a、b和c分别代表百位、十位和个位上的数字。
如果abc满足以下条件:a³ + b³ + c³ = abc,则abc就是一个水仙花数。
那么水仙花数有哪些呢?根据上述定义,我们可以通过枚举法找到所有的水仙花数。
首先,百位数字a的范围是1到9,因为0不满足三位数的条件。
然后,十位和个位数字b和c的范围都是0到9。
所以我们需要遍历所有的三位数,将满足条件的数列出来。
经过计算,我们找到了如下所有的水仙花数:153、370、371、407。
这四个数都满足a³ + b³ + c³ = abc的条件。
接下来,我们来研究水仙花数的特征。
首先,水仙花数是一个三位数,所以它是一个有限集合。
其次,水仙花数具有一定的规律性,即满足a³ + b³ + c³ = abc。
这个规律可以用来判断一个三位数是否为水仙花数。
对于每一个三位数abc,我们可以按照上述规则计算其立方和。
然后将计算结果与abc进行比较,如果二者相等,则该数为水仙花数;如果不相等,则不是水仙花数。
通过观察水仙花数的特征,我们可以发现一些有趣的现象。
首先,水仙花数是对称的,即百位数字与个位数字相同。
其次,水仙花数是非常罕见的,只有四个三位数满足条件。
这也反映了水仙花数的特殊性。
水仙花数的发现和研究对于我们理解数学规律、培养数学思维都具有积极的意义。
通过研究水仙花数,我们可以锻炼我们的观察力和逻辑思维能力。
此外,水仙花数还是一种数学趣味活动,可以增加我们学习数学的兴趣。
总结一下,水仙花数是指一个三位数,其个位、十位和百位数字的立方和等于该数本身的数。
java,for循环练习题
java,for循环练习题1、实现一个课程名称和课程代号的转换器:输入下表中的课程代号,输出课程的名称。
用户可以循环进行输入,如果输入n就退出系统。
课程名称和课程代号对照表2金。
计算5年后,获得的本金是多少?3、求整数1~100的累加值,但要求跳过所有个位为3的数。
4、输入一个正整数N,判断该数是不是质数,如果是质数输出“N是一个质数”,否则输出“N不是质数”。
提示:质数的含义:除了1和它本身不能被任何数整除。
5、输入一个正整数,将该数的各位左右反转输出,即输入123,输出321。
6、在屏幕上打印出n行的金字塔图案,如,若n=5,则图案如下:************************7、打印出100~999之间的所有“水仙花数”。
所谓“水仙花数”,是指一个3位数,其各位数字立方和等于该数本身。
例如:153是一个“水仙花数”,因为153=13+53+33。
8、幸运猜猜猜:游戏随机给出一个0~99的数字,然后让你猜是什么数字。
你可以随便猜一个数字,游戏会提示太大还是太小,从而缩小结果范围。
经过几次猜测与提示后,最终推出答案。
在游戏过程中,记录你最终猜对时所需要的次数,游戏结束后公布结果。
积分对照表提示:产生0~99之间的随机数字:int number = *100)使用for循环结构,其中循环计数器counter同时也记录你猜测的次数计算积分可以使用switch结构9、将一个数组中的元素倒排过来,不能新开一个数组的临时存储空间,只能在原数组上改练习题——循环1. 对数组a[]={30,1,-9,70,25}进行由小到大的排序,并输出最终结果。
//import java.util.Scanner;//对数组a[]={30,1,-9,70,25}进行由小到大的排序,并输出最终结果。
public class LianXi {} public static void main { } inta[]={30,1,-9,70,25}; int b,c=4; for{ for{if{ b=a[i+1]; a[i+1]=a[i]; a[i]=b; } } c--; } for{ } System.out.print;2. 分别编写APPLET和APPLICATION程序,使运行后在屏幕上生成如下的图案。
水仙花数的算法
用C#编程,写出一个求水仙花数的算法!1、水仙花数是指一个n(n>=3)位数,每一位数字的n次幂的和正好等于这个数本身。
例如,153是一水仙花数,因为153=1的3次方+5的3次方+3的3次方.using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace NarcissusNumber{class Program{public static void Main(string[] args){int a;string s;do{Console.WriteLine("3----找出三位数所有的水仙花数!");Console.WriteLine("4----找出四位数所有的水仙花数!");Console.WriteLine("5----找出五位数所有的水仙花数!");Console.WriteLine("34---你选择找出三、四位数的水仙花数!");Console.WriteLine("45---你选择找出四、五位数的水仙花数!");Console.WriteLine("35---你选择找出三、四、五位数的水仙花数!");Console.WriteLine("0----退出");Console.Write("请选择操作(0,3,4,5, 34, 45, 35):");s= Console.ReadLine();a = int.Parse(s);switch (a){case0:Console.WriteLine("你选择退出!");break;case3:Console.WriteLine("你选择找出三位数的水仙花数!");Funtion(a);break;case4:Console.WriteLine("你选择找出四位数的水仙花数!");Funtion(a);break;case5:Console.WriteLine("你选择找出五位数的水仙花数!");Funtion(a);break;case34: Console.WriteLine("你选择找出三、四位数的水仙花数!");Funtion(a);break;case45: Console.WriteLine("你选择找出四、五位数的水仙花数!");Funtion(a);break;case35: Console.WriteLine("你选择找出三、四、五位数的水仙花数!");Funtion(a);break;default: Console.WriteLine("你的输入是不合理的!请重先选择!");break;}Console.WriteLine();// Console.Clear(); /*清屏*/} while (a!=0);}/*******************输出水仙花数的算法*******************************/static int Funtion(int s){int i;int j;int k;int n;int m;int l;if (s==3) /*输出100-999的水仙花数*/{for(n=100;n<999;n++){i = n / 100;j = n / 10 - i * 10;k = n % 10;if (n==Recursion(i,s) + Recursion(j,s) + Recursion(k,s))Console.WriteLine(n);}}else if (s == 4) /*输出1000-9999的水仙花数*/{for (n = 1000; n <= 9999; n++){i = n / 1000;j = n / 100 - i * 10;k = n / 10 - i * 100 - j * 10;l = n % 10;if (n == Recursion(i, s) + Recursion(j, s) + Recursion(k, s) + Recursion(l, s))Console.WriteLine(n);}}else if(s==5) /*输出10000-99999的水仙花数*/{for (n = 10000; n <= 99999; n++){i = n / 10000;j = n / 1000 - i * 10;k = n / 100 - i * 100 - j * 10;l = n / 10 - i * 1000 - j * 100 - k * 10;m = n % 10;if (n == Recursion(i, s) + Recursion(j, s) + Recursion(k, s) + Recursion(l, s) + Recursion(m, s))Console.WriteLine(n);}}else if (s ==34) /*输出100-9999的水仙花数*/{for (n = 100; n <= 9999; n++){i = n / 1000;j = n / 100 - i * 10;k = n / 10 - i * 100 - j * 10;l = n % 10;if (i != 0 && n==Recursion(i, 4) + Recursion(j, 4) + Recursion(k, 4) + Recursion(l, 4))Console.WriteLine(n);if (n== Recursion(j, 3) + Recursion(k, 3) + Recursion(l, 3))Console.WriteLine(n);}}else if(s == 45) /*输出1000-9999的水仙花水*/{for (n = 1000; n <= 99999; n++){i = n / 10000;j = n / 1000 - i * 10;k = n / 100 - i * 100 - j * 10;l = n / 10 - i * 1000 - j * 100 - k * 10;m = n % 10;if (i != 0 && n == Recursion(i, 5) + Recursion(j, 5) + Recursion(k, 5) + Recursion(l, 5) + Recursion(m, 5))Console.WriteLine(n);if (n == Recursion(j, 4) + Recursion(k, 4) + Recursion(l, 4) + Recursion(m, 4))Console.WriteLine(n);}}else/* 输出100-99999的水仙花数*/{for (n = 100; n <= 99999; n++){i = n / 10000;j = n / 1000 - i * 10;k = n / 100 - i * 100 - j * 10;l = n / 10 - i * 1000 - j * 100 - k * 10;m = n % 10;if (i != 0 && n == Recursion(i, 5) + Recursion(j, 5) + Recursion(k, 5) + Recursion(l, 5) + Recursion(m, 5))Console.WriteLine(n);else if (j != 0 && n == Recursion(j, 4) + Recursion(k, 4) + Recursion(l, 4) + Recursion(m, 4))Console.WriteLine(n);else if (n== Recursion(k, 3) + Recursion(l, 3) + Recursion(m, 3))Console.WriteLine(n);}}return0;}/*********************用递归求数n的k次方*******************************/static int Recursion(int n,int k){int m;if (k == 1) return n;else{m=n*Recursion(n,k-1);}return m;}}}。
水仙花数
水仙花数水仙花什么是水仙花数春天是鲜花的季节,水仙花就是其中最迷人的代表,数学上有个水仙花数,他是这样定义的:水仙花数是指一个 n 位数( n≥3 ),它的每个位上的数字的n 次幂之和等于它本身。
(例如:1^3 + 5^3 + 3^3 = 153)常见水仙花数三位的水仙花数共有4个:153,370,371,407;四位的水仙花数共有3个:1634,8208,9474;五位的水仙花数共有3个:54748,92727,93084;六位的水仙花数只有1个:548834;七位的水仙花数共有4个:1741725,4210818,9800817,9926315;八位的水仙花数共有3个:24678050,24678051,88593477…………使用高精度计算,可以得到超过INT类型上限的水仙花数:5: 930845: 927275: 547486: 5488347: 98008177: 42108187: 17417257: 99263158: 246780508: 246780518: 885934779: 1465112089: 9129851539: 4723359759: 53449483610: 467930777411: 3216404965011: 4002839422511: 4267829060311: 4938855060611: 3216404965111: 9420459191411: 4470863567911: 8269391657814: 2811644033596716: 433828176939137016: 433828176939137117: 3587569906225003517: 2189714258761207519: 328958298444318703219: 492927388592808882619: 449812879116462486920: 6310542598859969391621: 44917739914603869730721: 12846864304373139125223: 2790786500997705256781423: 3545259010403169193594323: 2787969489305407447140523: 2188769684112291628885824: 17408800593806529302372224: 188451485447897896036875(为环保起见,24位以上的水仙花数略)理论上,最大的水仙花数不超过34位。
水仙花数是什么意思
水仙花数是什么意思水仙花数是指满足某种条件的三位数,又被称为是自幂数或是可爱数。
它的特点是,各位数字的立方和等于这个数本身,即abc=a^3+b^3+c^3。
所以水仙花数,被古人赋予了神秘的含义,比如“佛教看破,妙用无穷”,描绘了佛祖修炼可以达到最伟大的境界。
水仙花数有几个特点,被归结为一种特殊的数学概念。
首先,它的各位数字的立方和与本身完全相等。
其次,它的所有位的和等于一个完全平方数。
最后,在0-999之间,只有153个水仙花数,比如153 = 1^3 + 5^3 + 3^3,370 = 3^3 + 7^3 + 0^3,407 = 4^3 + 0^3 + 7^3等。
水仙花数是中国数学史上非常了不起的成就,博大精深的计算领域,有着悠久的历史。
早在史前,中国农民就由于耕作与生活的需要而发明出具有规律性质的数,比如完全数、水仙花数、普勒数,等等。
传统的中国文化视水仙花数为一种神奇的数字,说它在古代更是有着神秘的含义,比如它代表了佛的智慧,也可以象征佛的慈悲,可以将水仙花数视为宇宙的奇迹之一。
现今,水仙花数已经被用来作为数学的研究课题,比如研究其特性和规律,以及利用它来展开心理、解密、谜语等研究。
比如在数学竞赛中,一般会考查水仙花数的相关知识,考查学生是否能够找出水仙花数。
水仙花数也被用来描述许多精细美丽的花园建筑,它丰富了故事情节,使故事更有趣、更有意义。
比如有一个古老的传说,说把一片水仙花分成三部分,每一部分都有三个心脏,像一个可爱的三部分的心一样,所以它更加受欢迎,更受到欢迎。
水仙花数的存在,是中国数学研究的一个重要组成部分,它不仅可以让我们更加深入地认识数学,也可以丰富我们的故事情节,更受到欢迎。
让我们一起去欣赏这个神奇而又可爱的水仙花数吧!。
c#题库(程序设计基础)-New
《程序设计基础》题库(47道)<说明>难易程度依次为:易(4道)、较易(15道)、较难(12道)、难(9道)、很难(7道)其中的7道很难题作为各班个别学有余力的学生课外使用,不作为本次末考题。
一、顺序结构1、编程实现两个整数交换位置,例如:int x = 6,y = 9,交换后x = 9,y = 6。
(易)二、分支结构2、两个数比较大小,输出较大值。
(易)3、三个数比较大小,输出最大值。
(较易)4、求下列函数中y的值。
(较易)y=10 (x=0)y=3x+5 (x>0)y=x-2 (x<0)5、判断某个整数是否为水仙花数。
(水仙花数是一个三位数,该数各位的立方和等于该数本身。
例如153是一个水仙花数,因为153 = 13 + 53 + 33)(较易)6、判断某年是否为闰年。
(闰年的条件是:该年的年号能被4整除且不能被100整除,或该年的年号能被400整除,则该年是闰年,否则不是闰年。
)(较易)7、根据某同学的成绩,判定其成绩的等级。
(90~100分为“优秀”,80~89为“良好”,70~79为“中等”,60~69为“及格”,60分以下为“不及格”。
)(较易)三、单循环8、求1到100之间的所有整数的和。
(易)9、求1到100之间的所有奇数的和。
(较易)10、求1到100之间的所有偶数的和。
(较易)11、求1000以内所有能被5整除的整数的和。
(较易)12、打印100以内所有能被3整除的数,每5个数打印一行。
(较难)13、统计1000以内所有能被7整除的数的个数。
(较易)14、求10的阶乘。
(较易)15、输出26个小写英文字母。
(易)16、输出1000以内的所有水仙花数。
(水仙花数是一个三位数,该数各位的立方和等于该数本身。
例如153是一个水仙花数,因为153 = 13 + 53 + 33)(较难)17、判断某个数是否为素数。
(素数是一个大于1且只能被1和它本身整除的整数)(较难)18、判断某个数是否为完全数。
水仙花数最适合的算法
水仙花数最适合的算法
水仙花数是三位数,指100到999之间其数的值等于个位,十位和百位数字立方和,则是水仙花数。
其算法分析如下:
1. 设变量:因为是100到999之间的数,则设循环变量为i;要取i的百位,十位,个位数字,则分别设为变量x, y, z。
2. 建立变量之间的数学关系则有:x=i/100取整;y=(i/10)%10;z=i%10;
3. 得到水仙花数语句:if (i==x*x*x+y*y*y+z*z*z)
4. 编写程序代码
5. 运行并得到结果。
体会---编写程序的算法套路是:
1. 分析问题,设变量(宁可变量多设无用,也不要少设)。
2. 凑变量之间的数学关系。
注意两点:“凑”关系,多试试最后找到合适的关系;数学是基础,程序的编写最终要靠数学。
建立代码语句。
最重要的是设循环结构。
水仙花数是指一个n位正整数(n≥3),它的每位数字的n次幂之和等于它本身
水仙花数是指一个n位正整数(n≥3),
它的每位数字的n次幂之和等于它本身.三位水仙花
水仙花数,又称“水仙花瓣数”、“超完全数字不变数”等,是指一个n位正整数(n ≥ 3),它的每一位上的数字的n次幂之和等于它本身的数字。
水仙花数以三位数为最常见形式,例如153 = 1^3 + 5^3 + 3^3。
三位数的水仙花数有153、370、371、407等,所以又被称为三位水仙花数。
这些数字是
普通数字中特殊有趣的数字,有一定的解法可以计算出它。
首先,要得到一个三位水仙花数,需要三个不同的数字,比如1-9,并将它们按照位数放
在不同位置上。
三个数字分别是百位数、十位数和个位数,分别用a、b、c表示,最后,
将三个数字乘以3次方,分别计算a^3、b^3、c^3的值。
以153为例,计算153 = 1^3 + 5^3 + 3^3,通过计算可以得到153是一个三位水仙花数。
需要指出的是,此外,还有其他位数的水仙花数,比如四位数的话可以有1634、8208等,五位数的话可以有41519等,更多的数字也都可以满足上面的条件。
其实,找出这样的水
仙花数也并不难,它只是一个思路而已,只要有三个相同的数字乘以3次方,即可得出结果。
总之,水仙花数是一类有趣又特殊的数字,它们可以使得一般数字充满活力,吸引更多的
人们去研究及探索它。
C语言水仙花数的实现
C语⾔⽔仙花数的实现什么⽔仙花数?⽔仙花数其实是⾃幂数的⼀种,⾃幂数是⼀个⾃然数中它每个个位上的数字n次⽅相加之和为它本⾝!,这⾥n可以称为⽴⽅指数!⽽⽔仙花数的n次⽅的n是3,这⾥3可以称为⾃然数的⽴⽅指数次⽅即为⾃⾝相乘多少次,⼀般⽤^表⽰,⽐如1的3次⽅表⽰为:1^3⽐如153这个数是⼀个⽔仙花数,为什么呢?下⾯我们⽤公式来看⼀下:153有三个数位1、5、31的三次⽅为1:1*1*1=1列:1*1=11*1=15的三次⽅为125:5*5*5=125列:5*5=2525*5=1253的三次⽅为273*3*3=27列:3*3=99*3=27然后再将三个次⽅的和加⼀起:1+125+27=153所以⾃然数的153是⼀个⽔仙花数,因为它的三个数为拆分为1、5、3的⾃然数,⽽1^3+5^3+3^3刚好等于153,也就是原数!说的简单⼀点就是,⼀个整数⾃然数上的个位⾃然数的3次⽅加起来等于这个整数⾃然数,且⽴⽅指数为3的即为⽔仙花数!其实还有很多其他的:⼀位⾃幂数:独⾝数两位⾃幂数:没有三位⾃幂数:⽔仙花数四位⾃幂数:四叶玫瑰数五位⾃幂数:五⾓星数六位⾃幂数:六合数七位⾃幂数:北⽃七星数⼋位⾃幂数:⼋仙数九位⾃幂数:九九重阳数⼗位⾃幂数:⼗全⼗美数由于⼀些类型存储⼤⼩可能不能存储太⾼位,需要使⽤⼀些⾼精度的存储类型!在啰嗦⼏句,三位的⽔仙花数意味着数字长度只能是三位,上⾯说的⽴⽅指数为什么是3?因为⽔仙花的⽴⽅指数计算规则是它有多少个个位!⽴⽅指数为3的才算⽔仙花数!所以如果⾃然数有四个个位那么⽴⽅指数就是4,也就是四叶玫瑰花数!问题描述输出所有的“⽔仙花数”,所谓的“⽔仙花数”是指⼀个三位数其各位数字的⽴⽅和等于该数本⾝,例如153是“⽔仙花数”,因为:153 = 13 + 53 + 33。
问题分析根据“⽔仙花数”的定义,判断⼀个数是否为“⽔仙花数”,最重要的是要把给出的三位数的个位、⼗位、百位分别拆分,并求其⽴⽅和(设为s),若s与给出的三位数相等,三位数为“⽔仙花数”,反之,则不是。
python3练习题100道,孰能生巧,之前要想一个下午的内容,马上就有了答案
python3练习题100道,孰能⽣巧,之前要想⼀个下午的内容,马上就有了答案第1章字符串练习题1.1交换已知a的值为“hello”,b的值为“world”,如何交换a和b的值?得到a的值为“world”,b的值为“hello”a="hello"b="world"#⽅式1a,b=b,aprint("a的值:"+a+"; b的值:"+b)#⽅式2a="hello"b="world"c=aa=bb=cprint("a的值:{}; b的值{}".format(a,b))1.2回⽂回⽂的定义:“回⽂”就是正读倒读都是⼀样的如奇数个“98789”,这个数字正读是“98789”倒读也是“98789”。
偶数个数字“3223”也是回⽂数。
字母“abcba”也是回⽂。
判断⼀个字符串是否是回⽂字符串,是打印True,不是打印False。
a=input("请输⼊⼀个字符串:")print(a)flag=Truefor i in range(len(a)//2):if a[i]!=a[-i-1]:flag=Falseprint("{}不是⼀个回⽂字符串;".format(a))breakif flag:print("{}是⼀个回⽂字符串;".format(a))1.3字符串切割已知⼀个字符串为“hello_world_huihui”,如何得到⼀个队列["hello","world","huihui"]a="hello_world_huihui"print(a.split("_"))1.4拼接字符串有个列表['hello', 'world', 'huihui'] 如何把列表⾥的字符串串联起来得到字符串"hello_world_huihuia=['hello', 'world', 'huihui']aa=""for i in a:aa+=iaa += "_"print(aa[:-1]) 1.5 替换字符把字符串s中的每个空格替换成"%20"输⼊:s="We are happy."s="We are happy."ss=s.replace(" ","%20")print(ss)1.6 九九乘法表打印99乘法表for i in range(1,10):for j in range(1,i+1):print("{}*{}={}".format(j,i,i*j),end=" ")print()1.7字符下标找出单词"welcome" 在字符串"Hello,welcome." 中出现的位置,找不到返回-1从下标0开始索引a="welcome"b="Hello,welcme.welcome.."n=0if a in b:for i in b:if i!=a[0]:n+=1else:end=len(a)+n# print(end)if a==b[n:end]: #[6:14]print("单词{} 在{}的第{}位出现;".format(a,b,n))breakn+=1else:print("单词{} 未在{}中出现;".format(a,b)) 1.8 统计字符出现的次数统计字符串"Hello,welcome to my world." 中字母w出现的次数统计单词my出现的次数a="Hello, welcome to my world."b='w'# ⽅式⼀:# if b in a:# # count=0# # for i in a:# # if i==b:# # count+=1# # print("{}在字符串{}中,出现了{}次;".format(b, a,count))# # else:# # print("{}未出现在字符串{}中;".format(b,a))# ⽅式⼆:#直接将m替换为my即可count=0 while True: if b in a: a=a.replace(b,'',1) count+=1 else: break print("{}在字符串{}中,出现了【{}】次;".format(b, a,count))1.9 统计每个字符出现的次数题⽬:输⼊⼀个字符串str,输出第m个只出现过n次的字符, 如在字符串gbgkkdehh中,找出第2个只出现1次的字符,输出结果:d # a="gbgkkdehh"a=input('请输⼊⼀个字符串:')m=3n=2b={}count=0for i in a:if i not in b.keys():b[i]=1else:b[i]+=1print(b)for i in b.keys():if count==m:print(i)break1.10 判断字符a含b判断字符串a="welcome to my world" 是否包含单词b="world",包含返回True,不包含返回False a="welcome to my world"b="world"if b in a:print("True")else:print("False")1.11 查找字符⾸次出现位置输出指定字符串A在字符串B中第⼀次出现的位置,如果B中不包含A,则输出-1从0开始计数A="hello"B="hi how are you hello world,hello yoyo !"A = "hello"B = "hi how are you hello world, hello yoyo !"n=0if A in B:b=B.replace(A,'=',1)print(b)for i in b:if i!='=':n+=1else:print("{}在字符串{}中第⼀次出现的位置是 {}".format(A,B,n))else:print(-1)1.12 查找字符串最后⼀次出现位置输出指定字符串A在字符串B中最后出现的位置,如果B中不包含A,则输出-1从0开始计数A="hello"B = "hi how are you hello world, hello yoyo !" A = "hello"B = "hi how are you hello world,hello yoyo !"n=0count=0print(len(B))while A in B:n=B.index(A)B=B.replace(A,'',1)count+=1# print(n)print(n+(count-1)*len(A))1.13判断奇数偶数 给定⼀个数a,判断⼀个数字是否为奇数或偶数a=int(input("请输⼊任意⼀个整数:"))# print(a,type(a))if a%2==0:print("偶数")else:print("奇数")1.14判断⼀个姓名是否姓王 输⼊⼀个姓名,判断是否姓王a="王五"b="⽼王"a="⽼王五"if a[0]=="王":print("{} 姓‘王’".format(a))else:print("{} 不姓'王'".format(a))1.15 判断是不是数字如何判断⼀个字符串是不是纯数字组成a="123456"b="yoyo123"#⽅式1import rea="123456"b=re.findall('\d',a)if len(a)==len(b):print("{} 是纯数字;".format(a))else:print("{} 不是纯数字;".format(a))#⽅式2a="12345c6"if a.isdigit():print("数字字符串")else:print("⾮数字字符串")1.16 字符串⼤⼩写转换将字符串 a="This is string example....wow!" 全部转成⼤写字符串 b="Welcome To My World"全部转成⼩写a="This is string example....wow!"print(a.upper())print(a.lower())1.17 字符串去掉⾸尾空格将字符串a=" welcome to my world "⾸尾空格去掉 a=" welcome to my world "print(a.strip())print('abcab'.strip('a'))1.18字符串去掉左边指定空格或字符将字符串a = " welcome to my world !"左边的空格去掉a = " welcome to my world ! "print(a.lstrip())1.19字符串去掉右边指定空格或字符将字符串a = " welcome to my world ! "右边的空格去掉a = " welcome to my world!"print(a.rstrip())print(a.rstrip("!"))1.20 去除字符串⾥⾯所有的空格将字符串a = " welcome to my world ! "⾥⾯的所有空格都去掉a = " welcome to my world ! "print(a.replace(' ',''))1.21字符串去重后排序s = "ajldjlajfdljfddd",去重并从⼩到⼤排序输出"adfjl"s = "ajldjlajfdljfddd"rs=[]for i in s:if i not in rs:rs.append(i)# rs=sorted(rs) #列表排序⽅式1rs.sort()s="".join(rs)print(rs,s)1.22字符串去重保留顺序s = "ajldjlajfdljfddd",去重保留原来的顺序,输出"ajldf"s = "ajldjlajfdljfddd"rs=""for i in s:if i not in rs:rs+=iprint(rs)1.23画菱形题⽬打印出如下图案(菱形):n=7for i in range(n//2+1):print(' '*(n//2-i)+'*'*(2*i+1))#3,1; 2,3; 1,5;;0,7;;for i in range(n//2-1,-1,-1):print(' '*(n//2-i)+'*'*(2*i+1))1.24 输⼊⼀个正整数,判断是⼏位数题⽬给⼀个不多于5位的正整数,要求:⼀、求它是⼏位数,⼆、逆序打印出各位数字。
C语言题库
C语言题库1. 输入一个整数,判断它是几位数?(*)2. 编制一函数,得到一个整数的某一位的数字。
(*)3. 求出所有的水仙花数。
水仙花数是一个三位数,其各位数字的立方和等于该数。
例如153=1^3+5^3+3^3。
(**)4、编写函数fun求1000以内所有7的倍数之和。
(*)int fun(int m){ }5、将一个数组中的元素按逆序存放。
(*)6、输入三个整数x,y,z,请把这三个数由小到大输出。
(*)7、递归调用计算阶乘, 输入n,求n的阶乘(*)8、删除字符串中的数字字符。
例如:输入字符串:48CTYP9E6,则输出:CTYPE。
(**)9、计算并输出500以内最大的10个能被13或17整除的自然数之和。
(*)10、统计一个字符串中的字母、数字、空格和其它字符的个数。
(*)11、不用第三个变量,实现两个数的对调操作。
(**)12、求1!+3!+5!+……+n!的和。
(**)13、求一批数中最大值和最小值的差。
(*)14、编写函数fun,函数的功能是:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…的前n项之和。
每一分数的分母是前两项的分母之和;每一分数的分子是前两项的分子之和。
例如:求前20项之和的值为32.660259。
(**)15、打印出如下图(菱形)(**)*************************16、用冒泡法对数组a进行由小到大的排序。
(*)17、求出二维数组中的最大元素值(*)18、输入一个字符串,对字符串逆序输出(*)19、已知一个数列,它的头两项分别是0和1,从第三项开始以后的每项都是其前两项之和。
编程打印此数,直到某项的值超过200为止。
(***)20、计算平均成绩并统计90分以上人数。
(*)21、有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?(***)22、判断101-200之间有多少个素数,并输出所有素数。
C语言基础题
第一期:1. 输出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身,例如:153是一水仙花数,因为153=1+125+27.2. 一个数如果恰好等于它的因子之和,这个数就称为“完数”,例如:6的因子是1,2,3,而6=1+2+3因此6是“完数”。
编程序找出1000之内的所有完数,并按下面格式输出其因子:6 its factors are 1,2,33. 有一个分数序列2/1,3/2,5/3,8/5,13/8,21/13,…求出这个数列的前20相之和。
4.一个球从100M高度自由下落,每次落地后反跳回原高度的一半,再落下,再反弹,求它在第10次落地时,共经过多少米,第10次反弹多高。
5.猴子吃桃问题。
猴子第一天,摘下若干个桃子,当即吃了一半,还不过瘾,有多吃了一个。
第二天早上又将剩下的桃子吃掉一半,有多吃了一个。
以后每天早上都吃了前一天剩下的一半零一个。
到第十天早上想再吃时,就只剩一个桃子了。
求第一天共摘了多少个桃。
6.两个乒乓球队进行比赛,各出3人。
甲队为A,B,C;乙队X,Y,Z。
以抽签决定比赛名单。
有人向队员打听比赛的名单,A说他不和X比,C说他不和X,Z比,请编程找出3队赛手的名单。
7.将一个二维数组行和列的元素互换,存到另一个数组中。
原始二位数组手动输入,行和列自定。
8.输出以下的杨辉三角形(要求输出15行)11 11 2 11 3 3 11 4 6 4 11 5 10 10 5 19.输出“魔方阵”。
所谓魔方阵就是指这样的方阵,它的每一行,每一列和对角线之和均相等。
例如三阶魔方阵为:8 1 64 9 2要求输出1~n2的自然数构成的魔方阵。
10.找出一个二维数组中的鞍点,即该位置上的元素在该行上最大,在该列上最小。
也可能没有鞍点。
第二期:1.有15个数按由大到小顺序存放在一个数组中,输入一个数,要求用折半查找法找出该数是数组中第几个元素的值。
如果该数不在数组中,则输出“无此数”。
水仙花数计算的公式
水仙花数计算的公式水仙花数计算什么是水仙花数?水仙花数是指一个三位数,它的各位数字的立方和等于该数本身。
例如,153是一个水仙花数,因为1的立方+5的立方+3的立方等于153。
相关公式1.水仙花数计算公式:abc=a3+b3+c32.百位数a的计算公式:a=n//1003.十位数b的计算公式:b=(n//10)4.个位数c的计算公式:c=n公式解释与示例以下是一些使用相关公式计算水仙花数的示例:•示例1:–输入:n=153–a=n//100=1–b=(n//10)–c=n–计算立方和:a3+b3+c3=13+53+33=1+125+ 27=153–输出:153是水仙花数•示例2:–输入:n=370–a=n//100=3–b=(n//10)–c=n–计算立方和:a3+b3+c3=33+73+03=27+343+ 0=370–输出:370是水仙花数•示例3:–输入:n=123–a=n//100=1–b=(n//10)–c=n–计算立方和:a3+b3+c3=13+23+33=1+8+27= 36–输出:123不是水仙花数这些示例展示了如何使用相关公式计算水仙花数。
当立方和等于原数时,就可以判断该数是水仙花数。
总结:通过分解三位数并计算各个位上数字的立方和,可以判断一个数是否是水仙花数。
在计算过程中,使用公式化简可以更清晰地实现水仙花数的计算。
水仙花数计算的程序示例以下是使用Python编写的一个程序示例,用于计算水仙花数:def is_narcissistic_number(n):# 计算百位数a = n // 100# 计算十位数b = (n // 10) % 10# 计算个位数c = n % 10# 计算立方和sum_of_cubes = a**3 + b**3 + c**3# 判断立方和是否等于原数if sum_of_cubes == n:return Trueelse:return False# 测试示例:print(is_narcissistic_number(153)) # Trueprint(is_narcissistic_number(370)) # Trueprint(is_narcissistic_number(123)) # False这个程序示例定义了一个is_narcissistic_number函数,用于判断一个数是否是水仙花数。
Java基础练习题
int b;
int c;
System.out.println("请输入三个正整数:");
Scanner in=new Scanner(System.in);
a=in.nextInt();
b=in.nextInt();
c=in.nextInt();
t1[i]=in_t1.nextInt();}
for (int i = 0; i < t1.length; i++) {
int pos = i;
for (int j = i + 1; j < t1.length; j++) {
case 11:days+=31;
case 10:days+=30;
case 9:days+=31;
case 8:days+=31;
case 7:days+=30;
case 6:days+=31;
static int[] t1 = new int[number];
public static void main(String[] args) {
HomeWork01 jiejie=new HomeWork01();
jiejie.shunxun();
}
double x1 = (-b + Math.sqrt(b*b - 4*a*c))/2*a;
double x2 = (-b - Math.sqrt(b*b - 4*a*c))/2*a;
System.out.println("根分别是 " + x1 + "\t" + x2);
水仙练习题
一、选择题1. 下列哪个数是水仙花数?A. 153B. 370C. 371D. 4072. 下列哪个数不是水仙花数?A. 1634B. 9474C. 54748D. 947493. 下列哪个数是水仙花数?A. 123B. 234C. 345D. 4564. 下列哪个数不是水仙花数?A. 678B. 789C. 890D. 9015. 下列哪个数是水仙花数?A.B. 2345C. 3456D. 4567二、填空题1. 一个三位数,如果它的各位数字的立方和等于它本身,那么这个数是______。
2. 一个四位数,如果它的各位数字的立方和等于它本身,那么这个数是______。
3. 一个五位数,如果它的各位数字的立方和等于它本身,那么这个数是______。
4. 一个六位数,如果它的各位数字的立方和等于它本身,那么这个数是______。
5. 一个七位数,如果它的各位数字的立方和等于它本身,那么这个数是______。
三、判断题1. 水仙花数是指一个n位数,它的各位数字的n次方和等于它本身。
()2. 水仙花数一定是一个偶数。
()3. 水仙花数一定是一个奇数。
()4. 水仙花数一定是一个三位数。
()5. 水仙花数一定是一个四位数。
()四、简答题1. 请简述水仙花数的概念。
2. 请举例说明水仙花数。
3. 请简述如何判断一个数是否是水仙花数。
4. 请简述水仙花数在数学中的意义。
5. 请简述水仙花数在生活中的应用。
五、计算题1. 找出所有三位的水仙花数。
2. 找出所有四位的水仙花数。
3. 找出所有五位的水仙花数。
4. 找出所有六位的水仙花数。
5. ��出所有七位的水仙花数。
六、应用题1. 一个数是水仙花数,且它的各位数字之和为15,请找出这个数。
2. 一个水仙花数,它的各位数字之和为20,请找出这个数。
3. 一个数是水仙花数,它的各位数字之和为30,请找出这个数。
4. 一个水仙花数,它的各位数字之和为40,请找出这个数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
E-mail文化传播网
水仙花数
水仙花数外文名narcissistic number。
指的是:在自然数中,如果一个三位数等于其自身各个数字的立方和,那么这个三位数就称为“水仙花数”。
后来,水仙花数又发展称为阿姆斯特朗数,是指一个 n 位数( n≥3 ),它的每
个位上的数字的 n 次幂之和等于它本身。
所以就有四位水仙花数、五位水仙花数、六位水仙花数。
等等。
实际上这只是自幂数的一种数。
严格来说三位数的3次幂数才是水仙花数。
(例如:1³+ 5³+ 3³ = 153)
在数论中,水仙花数,也被称为
超完全数字不变数、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong nmber),用来
描述一个N位非负整数,其各个
位数字的N次方和等于该数本身。
若将条件放宽,一个N位数,其
各个数之M次方和等于该数,(M
和N不一定相等)这样的数称为
完全数字不变量(perfect digital invariant),
水仙花数一定是完全数字不变量,但完全数字不变量不一定是水仙花数。
阿姆斯特朗数只是自幂数的一种,严格来说三位数的3次幂数才成为水仙花数。
其他位数的自幂数名字
一位自幂数:独身数
两位自幂数:没有
三位自幂数:水仙花数
四位自幂数:四叶玫瑰数
五位自幂数:五角星数
六位自幂数:六合数
七位自幂数:北斗七星数
八位自幂数:八仙数
九位自幂数:九九重阳数
十位自幂数:十全十美数
常见的阿姆斯特朗数。
三位的水仙花数共有4个:153,370,371,407;
四位的水仙花数共有3个:1634,8208,9474;
五位的水仙花数共有3个:54748,92727,93084;
六位的水仙花数只有1个:548834;
七位的水仙花数共有4个:1741725,4210818,9800817,9926315;八位的水仙花数共有3个:24678050,24678051
到目前为止,已知的自然数中,只有四个水仙花数,它们分别是: 153、370、371、407
153=1³+5³+3³370=3³+7³+0³371+3³+7³+1³407=4³+0³+7³
完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。
定义:一个自然数等于它的全部约数(不包括本身)的和,这样的自然数称为完全数。
或完备数。
例如:6=1+2+3
从1到1000以内的数中,一共只有三个完全数。
它们分别是:
第一个完全数是6,它有约数1、2、3、6,除去它本身6外,其余3个数相加,1+2+3=6。
第二个完全数是28,它有约数1、2、4、7、14、28,除去它本身28外,其余5
个数相加,1+2+4+7+14=28。
第三个完全数是496,有约数1、2、4、8、16、31、62、124、248、496,除
去其本身496外,其余9个数相加,
1+2+4+8+16+31+62+124+248=496。
完全数的特有性质
1。
所有的完全数都是三角形数
例如:
6=1+2+3
28=1+2+3+...+6+7
496=1+2+3+...+30+31 8128=1+2+3…+126+127 2.所有的完全数的倒数都是调和数
例如:
1/1+1/2+1/3+1/6=2
1/1+1/2+1/4+1/7+1/14+ 1/28=2
1/1+1/2+1/4+1/8+1/16+1/3 1+1/62+1/124+1/248+1/496 =2
3.可以表示成连续奇立方数之和
除6以外的完全数,都可以表示成连续奇立方数之和,并规律式增加。
例如:28=1³+3^3
496=1^3+3^3+5^3+7^3
8128=1^3+3^3+5^3+……+15^3 33550336=1^3+3^3+5^3+……+125^3+ 127^3
4.都可以表达为2的一些连续正整数次幂之和。
不但如此,而且它们的数量为连续质数。
例如:
6=2^1+2^2
28=2^2+2^3+2^4
496=2^4+2^5+2^6+2^7+2^8
8128=2^6+2^7+2^8+2^9+2^10+2^11+2 ^12
33550336=2^12+2^13+……+2^24
5.完全数都是以6或8结尾
如果以8结尾,那么就肯定是以28结尾。
(科学家仍未发现由其他数字结尾的完全数。
)
6.各位数字辗转式相加个位数是1 除6以外的完全数,把它的各位数字相加,直到变成个位数,那么这个个位数一定是1。
例如:
28:2+8=10,1+0=1
496:4+9+6=19,1+9=10,1+0=1 8128:8+1+2+8=19,1+9=10,
1+0=1
33550336:3+3+5+5+0+3+3+6=28, 2+8=10, 1+0=1
7.它们被3除余1、被9除余1、1/2被27除余1
除6以外的完全数,它们被3除余1、9除余1、还有1/2被27除余1。
28/3 商9,余1
28/9 商3,余1
28/27 商1,余1
496/3 商165,余1
496/9 商55,余1
8128/3 商2709,余1
8128/9 商903,余1
8128/2=4064, 4064/27 商15,余1
在自然数里,到底有多少完全数呢?有人作过统计:
6=1+2+3,
28=1+2+4+7+14,
496=1+2+4+8+16+31+62+124+248,
8128=1+2+4+8+16+32+64+127+254+508+1016
+2032+4064.
完全数不多,已初步看到,前一万多个正整数才4个
在1到40000000这么多数里,只有七个完全数,它们是:6,
28,496,8128,130816,2096128,33550336.
可见完全数是非常稀少的.
2015-10-27 更多精彩请点击这里访问。