BC164. 牛牛的四叶玫瑰数
描述
输入描述
第一行输入两个正整数,表示闭区间的两头输出描述
输出区间内的四叶玫瑰数,保证至少有一个示例1
输入:
1 2000
输出:
1 1634
C 解法, 执行用时: 2ms, 内存消耗: 288KB, 提交时间: 2022-05-12
#include<stdio.h> #define fun(x) x*x*x*x int Four(int i) { int sum =0,num=i; while(i) { int a=i%10; sum+=fun(a); i/=10; } if(sum==num) return 1; else return 0; } int main() { int n,m; scanf("%d%d",&n,&m); for(int i=n;i<=m;i++) { if(Four(i)==1) printf("%d ",i); } return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 308KB, 提交时间: 2022-08-06
#include <stdio.h> int main() { int l, r; int i, n; int a; int s; while (scanf("%d%d", &l, &r) != EOF) { for (i = l; i <= r; i++) { s = 0; n = i; while (n) { a = n % 10; s = s + a * a * a * a; n /= 10; } if (s == i) { printf("%d ", s); } } printf("\n"); } return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 308KB, 提交时间: 2022-07-20
#include<stdio.h> int main() { int a,b; scanf("%d%d",&a,&b); for(;a<=b;a++) { int i=a; int sum=0; while(i) { sum +=(i%10)*(i%10)*(i%10)*(i%10); i/=10; } if(sum == a) printf("%d ",a); } return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 308KB, 提交时间: 2022-07-18
#include <stdio.h> #include <string.h> #include <ctype.h> #include <math.h> #include <stdlib.h> //int cmp(const void *e1, const void *e2) //{ // return *((int*)e1)-*((int*)e2); //} // // //int Add(int x,int y) //{ // return x+y; //} //int Sub(int x,int y) //{ // return x-y; //} //int Mul(int x,int y) //{ // return x*y; //} //int Div(int x,int y) //{ // return x/y; //} int find(int a) { int c[4]={0},i=0,m,n,sum=0; n=a; for(i=0;i<4;i++) { m=a%10; c[i]=m*m*m*m; a=a/10; sum+=c[i]; } if(sum==n) { return 1; } else { return 0; } } int main() { int a, b, c,i=0, j, sum = 0,min=0,result=0,index=0,cyc=0,sum1=0; scanf("%d %d",&a,&b); for(i=a;i<=b;i++) { result= find(i); if(result==1) { printf("%d ",i); } } return 0; }
C 解法, 执行用时: 2ms, 内存消耗: 308KB, 提交时间: 2022-05-03
#include <stdio.h> int pow(int x,int n) { int i,sum=1; for (i=0;i<n;i++) { sum*=x; } return sum; } int main(void) { int m,f,i,x; scanf("%d %d",&m,&f); //保存x的原始值 for (x=m;x<=f;x++) { int sum=0; //int sum=0不能放在最开始,如果这样sum就成为全局变量,每次循环结束后都不能清除为sum开辟的内存空间 //而最初目的是计算每一个数的时候,都要将sum初始化为0,因此需要将对sum的定义和声明放在for循环内部 i=x; //保留原来变量的值,定义一个新变量进行操作 while (i) { int ret=i%10; i/=10; sum=sum+pow(ret,4); } if (sum==x) { printf("%d ",x); } } return 0; }