又见水仙花c语言函数 c语言水仙花数的解题思路

C语言 编写函数 水仙花数问题我以前写过一个
public static int sxh()//水仙花数
{
int ge,shi,bai,total,mount=0;
System.out.println("满足条件的水仙花数:");
for(int k=100;k1000;k)
{
bai=k/100;
shi=k0/10;
ge=k;
total=(bai*bai*bai) (shi*shi*shi) (ge*ge*ge);
if(total==k)
{
System.out.print(" " k);
mount;
}
}
return mount;
【又见水仙花c语言函数 c语言水仙花数的解题思路】 }
n久没动过c语言了,也只能帮到这了
“水仙花”的C语言编程方法这是又见水仙花c语言函数我们书上又见水仙花c语言函数的一道题目:打印出100-999中所有的“水仙花数”
#includestdio.h
void
main()
{
int
i,j,k,n;
printf("水仙花数为:");
for(n=100;n1000;n)
{
i=n/100;
/*分解出百位*/
j=n/10;
/*分解出十位*/
k=n;
/*分解出个位*/
if(i*100 j*10 k==i*i*i j*j*j k*k*k)
printf("%d
",n);
}
}
用c语言编写一个求水仙花数的函数,求3位正整数的全部水仙花数中的次大值 。所谓水仙花数是指三#include stdio.h
void main(){
int i,k,s=0,num=0;
for(i=999;i=100;i--)
{
k=i;
while(k)
{
s =(k)*(k)*(k);
k/=10;
}
if(s==i) num;
if(num==2) break;
s=0;
}
printf("%d",i);
}
C语言 函数多实例 求水仙花数//求出所有水仙花数 。
#include stdio.h
int main()
{
int x, y, z;
for(x=1; x=9; x)
for(y=0; y=9; y)
for(z=0; z=9; z)
if((x*x*x y*y*y z*z*z)==(x*100 y*10 z))
printf("%d%d%d ", x, y, z);
return 0;
}
然后利用前面的输出:
#include stdio.h
int main()
{
int a[4]={153, 370, 371, 407}, m, n, i;
bool flag;
while(scanf("%d %d",m,n)!=EOF)
{
flag=1;
for(i=0; i4; i)
{
if(a[i]ma[i]n)//这个地方我不知道是否可以是if(a[i]=ma[i]=n),(不知道是开区间还是闭区间)
{
flag=0;
printf("%d ", a[i]);
}
}
if(flag)
{
printf("no");
}
putchar('\n');
}
return 0;
}
然后你的程序的问题起码是输出格式错误 。因为你在输出一组数据的答案是都没有换行 。
我们在主函数加入
freopen("test.3", "w", stdout);
输入样例数据:
查看记事本输出:
=====================================
楼主,不加freopen不容易看出输出格式错误 。
特别是usaco这种,一个'\n'都是严格要求的 。
“水仙花数”C语言程序代码如下:
#include stdio.h
int main()
{
printf("输出水仙花数:\n");
int i=100;
for( ; i1000; i){
int num_0 = i;
int num_1 = i/10;
int num_2 = i/10/10;
if(i==(num_0*num_0*num_0 num_1*num_1*num_1 num_2*num_2*num_2))
printf("%d\t", i);
}
return 0;
}
扩展资料:
自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身 。
n为1时,自幂数称为独身数 。显然,0,1,2,3 , 4,5,6,7,8,9都是自幂数 。
n为2时,没有自幂数 。
n为3时,自幂数称为水仙花数,有4个:153,370,371,407;
n为4时,自幂数称为四叶玫瑰数,共有3个:1634 , 8208,9474;
n为5时,自幂数称为五角星数,共有3个:54748,92727,93084;
n为6时,自幂数称为六合数,只有1个:548834;
n为7时,自幂数称为北斗七星数,共有4个:1741725,4210818,9800817,9926315;
n为8时,自幂数称为八仙数,共有3个:24678050 , 24678051,88593477;
n为9时,自幂数称为九九重阳数,共有4个:146511208,472335975,534494836,912985153;
n为10时,自幂数称为十全十美数,只有1个:4679307774 。
参考资料:
百度百科——水仙花数
c语言编程调用函数求水仙花数水仙花数是指一个 n 位数 ( n≥3 ),每个位上的数字的 n 次幂之和等于它本身 。(例如:1^35^33^3 = 153) 。
所以可以依次通过模除求得每个位上的值,然后做n次幂后相加,再判断是否与本身相等,从而得到是否为水仙花数的结论 。
以求所有三位数水仙花数为例 , 代码如下,其它相似 。
#includestdio.h
#includestdlib.h
#includestdbool.h
int cube(const int n){//计算立方 。如果是四位则是四次方,以此类推 。
return n*n*n;
}
int isNarcissistic(const int n){//计算是否为水仙花数 。
int hundreds=n/100;//百位
int tens=n/10-hundreds*10;//十位
int ones=n;//个位
return cube(hundreds) cube(tens) cube(ones)==n;//如果相等,则为水仙花数 。
}
int main(void){
int i;
for(i=100;i1000;i){//对所有三位数判断 。
if(isNarcissistic(i))//如果是则输出 。
printf("%d\n",i);
}
return 0;
}
关于又见水仙花c语言函数和c语言水仙花数的解题思路的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站 。

    推荐阅读