c语言编程题 找出所有的水仙花数,水仙花数是指一个3位数
具体程序如下:
#include
void main()
{
int i,a,b,c,count=0;//count是计数器
printf("水仙花数有
");
for (i=100;i<=999;i++)
{
a=i/100; //取百位数字
b=(i-a*100)/10; //取十位数字
c=i%10; //取个位数字
if(a*a*a+b*b*b+c*c*c==i)//如果是水仙花数
{
printf("%d",i);
count++;//如果是水仙花数 计数器就加1
}
}
printf("
水仙花数的个数为%d",count);
printf("
");
}
运行结果如下
水仙花数是指一个 n 位数 ( n=3 ),它的每个位上的数字的 n 次幂之和等于它本身.所以n位数的水仙花数就是将其每一位的n次方相加.看是否等于其本身.三位的水仙花数共有4个:153,370,371,407;程序如下:#include<iostreamusing namespace std;int main(){int bit1,bit2,bit3;for(int i=100;i<1000;++i){bit1=i/100; //取百位数bit2=(i/10)%10; //取十位数if(i == bit1*bit1*bit1 + bit2*bit2*bit2 + bit3*bit3*bit3 ) //将各个数的立方相加看是否等于其本身.{cout<<i<<endl;}}return 0;}附图:
import org.junit.Test;
public class NarcissusNumber{
public void isNarcissusNumber(){
//循环[100,999]
for(int i=100;i<=999;i++){
//分割出个位
int a=i%10;
//分割出十位
int b=i/10%10;
//分割出百位
int c=i/100;
//判断该数是否等于【个位的三次方+十位的三次方+百位的三次方】
if(i==(Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3))){
System.out.println(i+"是水仙花数");
}
}
}
Test
public void test(){
isNarcissusNumber();
}
/**
*结果:
*--->153是水仙花数
*--->370是水仙花数
*--->371是水仙花数
*--->407是水仙花数
*/
}
扩展资料:
import用法
静态的import语句用于导入由另一个模块导出的绑定。无论是否声明了strict mode,导入的模块都运行在严格模式下。在浏览器中,import语句只能在声明了type="module"的script的标签中使用。
此外,还有一个类似函数的动态import(),它不需要依赖type="module"的script标签。
在script标签中使用nomodule属性,可以确保向后兼容。
在您希望按照一定的条件或者按需加载模块的时候,动态import()是非常有用的。而静态型的import是初始化加载依赖项的最优选择,使用静态import更容易从代码静态分析工具和tree shaking中受益。
语法
import defaultExport from"module-name";
import*as name from"module-name";
import{export}from"module-name";
import{export as alias}from"module-name";
import{export1,export2}from"module-name";
import{foo,bar}from"module-name/path/to/specific/un-exported/file";
import{export1,export2 as alias2,[...]}from"module-name";
import defaultExport,{export[,[...]]}from"module-name";
import defaultExport,*as name from"module-name";
import"module-name";
var promise=import("module-name");//这是一个处于第三阶段的提案。
defaultExport
导入模块的默认导出接口的引用名。
module-name
要导入的模块。通常是包含目标模块的.js文件的相对或绝对路径名,可以不包括.js扩展名。某些特定的打包工具可能允许或需要使用扩展或依赖文件,它会检查比对你的运行环境。只允许单引号和双引号的字符串。
name
导入模块对象整体的别名,在引用导入模块时,它将作为一个命名空间来使用。
export,exportN
被导入模块的导出接口的名称。
alias,aliasN
将引用指定的导入的名称。
找出所有3位水仙花数的程序:
#include<stdio.h>
int main()
{
int i,a,b,c;
for(i=100;i<1000;i++)
{
a=i/100; //百位数
b=i/10%10; //十位数
c=i%10; //个位数
if(i==a*a*a+b*b*b+c*c*c)
printf("%d
",i);
}
getch();
}
#include<stdio.h>
main()
{
int i,j,k;
for(i=1;i<=9;i++)
for(j=0;j<=9;j++)
for(k=0;k<=9;k++)
if(100*i+10*j+k==i*i*i+j*j*j+k*k*k)
printf("%d%d%d\n",i,j,k);
}
#include"stdio.h"
#include"math.h"
int main(){
int i,a,b,c;
for(i=100;i<=999;i++)
{
a=i%10;
b=i/10%10;
c=i/100;
if (i==a*a*a+b*b*b+c*c*c)
{
printf("%d\n",i);
}
}
return 0;
}
皇丹乳糖:[答案] #include "stdio.h" #include "conio.h" main() { int i,j,k,n; printf("'water flower'number is:"); for(n=100;n { i=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出个位*/ if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) printf("%-5d",n); } getch(); }
弥渡县15262929776: 谁知道用C语言怎么编写一个能求出所有的水仙花数的程序? - ?
皇丹乳糖: main() { int i,j,k,n; printf("'water flower'number is:"); //提示输入水仙花数:for(n=100;n<1000;n++){ i=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出个位*/ if(i*100+j*10+k==i*i*i+j*j*j+k*k*k){printf("%-5d",n);}} printf("\n"); }
弥渡县15262929776: c语言:找出所有的水仙花数,用for嵌套表现. - ?
皇丹乳糖: main() { int a,b,c,d,f,g; for(a=100;a<1000;a++) {scanf("%d",&b); c=b/100; (百位数) d=b%10; (个位数) f=b/10%10; (十位数) g=c*c*c+d*d*d+f*f*f; if(g==a) printf("%d\n",g); } } 这是最简单的 变量可能设的多一点 容易理解....
弥渡县15262929776: C语言试题谁会做帮帮忙五、编程1、打印所有的“水仙花数”.所谓“水仙花数”,是指一个三位数,其各位数字的立方和等于该数本身.例如,153是“... - ?
皇丹乳糖:[答案] 除了最大公约数 其他都不难
弥渡县15262929776: 输出 所有的“水仙花数” 用c语言程序 怎么做 - ?
皇丹乳糖: 如图所示: 代码如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18#include <stdio.h>intmain(){inti,a,b,c,A,B,C;printf("有下列水仙花数:\n");for(i=100;i<=999;i++){a=i/100;c=(i/10)%10;b=i%10;A=a*a*a;B=b*b*b;C=c*c*c;if(A+B+C==i)printf("%d\t=%d^3+%d^3+%d^3\t=%d +%d +%d\n",i,a,b,c,A,B,C);}return0; }
弥渡县15262929776: c 语言 输出所有的“水仙花数”. - ?
皇丹乳糖: 例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方. 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位. 2.程序源代码: main() { int i,j,k,n; for(n=100;n<1000;n++) { i=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出个位*/ if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) { printf("%d\n",n); } return 0; }
弥渡县15262929776: 用C语言求出所有水仙花数 - ?
皇丹乳糖: #includeint main(void) { int a,b,c; for(a=1;ahttp://wenwen.soso.com/z/TeamHome.e?sp=50700&ch=tuan.gr
弥渡县15262929776: c语言中,求“水仙花数”问题. - ?
皇丹乳糖: #include"stdio.h" main() {int i,a=0,b=0,c=0,t;for(i=100;i<=999;i++){a=i%10;b=(i/10)%10;c=i/100; if(c*100+b*10+c*1==a*a*a+b*b*b+c*c*c){t=i;printf("%d",t);}}}if和printf语句都要在循环里面 同时,if语句的条件改为 if(c*100+b*10+c*1==a*a*a+b*b*b+c*c*c)
弥渡县15262929776: C语言编程输出所有的“水仙花数”. - ?
皇丹乳糖: main() { int ge,shi,bai,number; /*定义个位,十位,百位*/ for(number=100;number<1000;number++) { bai=number/100; shi=(number%100)/10; ge=number%10; if(number==bai*bai*bai+shi*shi*shi+ge*ge*ge) /*若满足条件则显示*/ printf("\nnumber=%d\n",number); } getch(); } 楼上能把另外2种算法 仔细描述下么?谢谢
弥渡县15262929776: C语言编程输出所有的“水仙花数”.?
皇丹乳糖://显示所有的话这个还真做不到 #include <iostream> #include <cstdlib> using namespace std; inline int cube ( const int n ){ return n * n * n;} bool isNarcissistic ( const int n ){ int hundreds = n / 100; int tens = n / 10 - hundreds * 10; int ones = n % 10;...