首页 > 其他分享 >四叶玫瑰数

四叶玫瑰数

时间:2024-09-06 09:50:13浏览次数:13  
标签:10 四叶 int 玫瑰 result fun j%

要求

请编写函数fun,其功能是:求n(n<10000)以内的所有四叶玫瑰数并逐个存放到result所指的数组中,四叶玫瑰数的个数作为函数值返回。

如果一个4位正整数等于其各个数字的4次方之和,则称该数为四叶玫瑰数。

1634=1*1*1*1+6*6*6*6+3*3*3*3+4*4*4*4

因此1634就是一个四叶玫瑰数。

解题思路:

本程序使用for循环遍历所有数,while循环分解当前数的各个位的值,并四次方后累加求和,若该和与原数相等,则满足要求,保存。

代码

#include<stdio.h>
#pragma warning (disable:4996)
int fun(int n, int result[])
{ 
	int i = 0;

	int k = 0;
	
	for(i=1000;i<n;i++)
	{
		/*int j =i;
		int a = i/1000;i+=(a*1000);
		int b = (i-(a*1000))/100;i+=(a*1000)+(b*100);
		int c =(i-(a*1000)-(b*100))/10;i+=(a*1000)+(b*100)+(c*10);
		int d =(i-(a*1000)-(b*100))%10;
		if(j==(a*a*a*a)+(b*b*b*b)+(c*c*c*c)+(d*d*d*d))
		{
			result[k]=j;
			k++;
		}*/
		int j =i;
		int sum=0;
		while(j>0)
		{
			sum+=(j%10)*(j%10)*(j%10)*(j%10);
			j=j/10;
		}
		if(sum==i)
		{
			result[k]=i;
			k++;
		}	
	}
	return k;
}
main( )
{
	int result[10], n, i;
	void NONO(int result[], int n);
	n = fun(9999, result);
	for(i=0; i<n; i++) printf("%d\n", result[i]);
	NONO(result, n);
}

void NONO(int result[], int n)
{/* 本函数用于打开文件,输入数据,调用函数,输出数据,关闭文件。 */
	FILE *fp ;
	int i;

	fp = fopen("out.dat","w") ;
	fprintf(fp, "%d\n", n);
	for(i=0; i<n; i++) fprintf(fp, "%d\n", result[i]);
	fclose(fp);
}

结果截图

标签:10,四叶,int,玫瑰,result,fun,j%
From: https://blog.csdn.net/A_hard_August/article/details/141874619

相关文章

  • 喂饭教程“15行代码”教你用matlab画玫瑰花表白成功!
    本代码十分适合编程小白,大家直接复制黏贴就可以向大家喜欢的人表个白吧!代码:n=800;p=pi;[R,T]=ndgrid(linspace(0,1,n),linspace(-2,20*p,n));x=1-(.5)*((5/4)*(1-mod(3.6*T,2*p)/p).^2-.25).^2;U=2*exp(-T/(8*p));L=sin(U);J=cos(U);y=1.99*(R.^2).*(1.2*R-1).^2.*L;......
  • 用Python画二手玫瑰
    下载数据importturtle#rose_data为存储数据的py文件importrose_datadefdraw_line(pix_list):'''依据pix_list的像素点数据画图'''turtle.penup()turtle.goto(*pix_list[0])turtle.pendown()forpixinpix_list:turtle.got......
  • python-数据分析-Matplotlib-1-进阶图形(气泡图-面积图-雷达图-玫瑰图-3D图)
    气泡图#-*-coding:utf-8-*-#气泡图#气泡图可以用来了解三个变量之间的关系,通过比较气泡位置和大小来分析数据维度之间的相关性。#例如在我们之前绘制的月收入和网购支出的散点图中,我们已经发现了二者的正相关关系,如果我们引入第三个变量网购次数,那么我们就需要使用气泡图......
  • YC281A [ 20240429 CQYC省选模拟赛 T1 ] 玫瑰(rose)
    题意给定数列\(A,B,C\),每次操作,你可以花\(1\)的代价将\(A_i\)或\(B_i\)或\(C_i\)增加\(1\)。求使得三个数列每个元素排名相同的最小代价。\(n\le500\)Sol很厉害的题目。首先注意到这个最优方案只和前缀最大值有关,考虑设\(f_{i,j,k}\)表示当前状态枚举到了......
  • Qt QPolarChart极坐标图(阿基米德线、四叶曲线、六叶花瓣、三叶花瓣、心形曲线)
    QChart还有专门画极坐标的类QPolarChart,它的界面是一个圆盘。注意在使用之前,包括命名空间QT_CHARTS_USE_NAMESPACE,.pro文件中也要增加QT+=charts.1#include<QApplication>2#include<QDebug>3#include<QtCharts/QScatterSeries>4#include<QtCharts/QLineSer......
  • 四叶草魔杖
    链接第一眼是不会的,想了一会才有思路,而且还是瞄了一眼了别人的题解的。我的想法最开始就是普通的最小生成树,然后对于0的节点就枚举是否要取它,然后跑\(2^n\)遍就好了。但是有一个问题,就是,这整张图是可以不连通的。也就是我们可以只把它变成几个内部点权相加为0的连通块。然后我......
  • 四叶草魔杖
    这道题目作为枚举子集的题目见识一下首先对于一个连通块,如果点权之和为\(0\),那么我们算出MST显然就是最优解我们看一下数据范围,可能是考状态压缩我们把状态\(i\)设出来后,可以先尝试考虑某一个点,但是你发现这样不太好考虑,而且只考虑这一个点的话,那么这个点所加入的连通块的点权......
  • T404546 亮亮的玫瑰问题 2 题解
    再次被初中的自己搏杀,想到网络流去了LinkT404546亮亮的玫瑰问题2Question有\(n\)种花,第\(i\)种花有\(a_i\)个,求需要摆\(m\)朵花的方案数Solution定义\(F[i][j]\)表示前\(i\)种花,已经摆了\(j\)个的方案数枚举第\(i\)种花需要摆多少个\(k\)所以\(F[i][j......
  • [HZNUCTF 2023 final]虽然他送了我玫瑰花
    打开界面看到爆红的代码 浏览整个代码没有发现明显的call指令爆红,那就只能慢慢看了发现一个地方出现永真跳转代码  这里的话直接给他nop掉就好了然后在上面选中mian函数p键就好了 另外想讲一下的点是这几个函数都是可以分析的 键入函数 F5变为伪代码 ......
  • T399751 Liangle's Rose Problem(亮亮的玫瑰问题)题解
    LinkT399751Liangle'sRoseProblem(亮亮的玫瑰问题)Question给出一个数组\(a\),有\(Q\)次询问,每次询问\([L,R]\)种随便挑选几个连续的\(a_i\)使得,他们几个的或的值最大Solution考虑贪心,如果把负数视为\(0\),那么一个数或上另外一个数,数肯定是变大的,那么就应该或上\(......