求各位数字的平方和

6-6 求一个整数各位数字平方和 (10分) 6-6 求一个整数各位数字平方和 (10分) 编写函数fun,函数的功能是:求一个整数的各位数字的平方和。 函数接口定义: int fun(int n); 其中 n 是用户传入的参数。函数须返回整数 n 的各位数字的平方和。 裁判测试程序样例: #include <stdio.h> int fun(int n); int main() { int k; k=fun(1234); printf(“k=%d\n”,k); return 0; } /* 请在这里填写答案 */ 输出样例: k=30 第 阅读详情


1.程序分析:

本程序的关键之处在于会分离10-1000000以内的正整数的每一位数,例如199可分离为 1,9,9。具体分离方法如下代码所示,其实本程序最好能使用switch判断语句,这样的话不用进行过多的判断,以此耗费内存。


2.源代码:

/*
	任意输入一个正整数n(0<n<1000000),求它的各位数字的平方和 

*/
#include<iostream>
using namespace std;
 
int main()
{
	
	int n = 1;
	int sum = 0;
	int a,b,c,d,e,f;
	while(cin>>n)
	{
		
		if(n>0 && n<10)
		{
			sum += n * n;
			cout<<"n的平方和为:"<<sum<<endl;
			cout<<"--------------------------------"<<endl;
		}
		else if(n>=10 && n<100)
		{
			a = n /10;
			b = n %10;
			sum += a*a + b*b;
			cout<<"n的平方和为:"<<sum<<endl;
			cout<<"--------------------------------"<<endl;
		}
		else if(n>=100 && n<1000)
		{
			a = n/100;
			b = (n/10) %10;
			c = n % 10;
			sum += a*a+b*b+c*c;
			cout<<"n的平方和为:"<<sum<<endl;
			cout<<"--------------------------------"<<endl;
		}
		else if(n>=1000 && n<10000)
		{
			a = n/1000;
			b = (n/100) %10;
			c = (n % 100) /10;
			d = (n % 100) %10;
			sum += a*a+b*b+c*c+d*d;
			cout<<"n的平方和为:"<<sum<<endl;
			cout<<"--------------------------------"<<endl;
		}
		else if(n>=10000 && n<100000)
		{
			a = n/10000;
			b = (n % 10000) /1000;
			c = ((n % 10000) % 1000) /100;
			d = (((n % 10000) % 1000) % 100) / 10;
			e = d = (((n % 10000) % 1000) % 100) % 10;
			sum += a*a+b*b+c*c+d*d+e*e;
			cout<<"n的平方和为:"<<sum<<endl;
			cout<<"--------------------------------"<<endl;
		}
		else if(n>=100000 && n<1000000)
		{
			a = n/1000000;
			b =(n % 1000000) /100000;
			c =((n % 1000000) %100000) /10000;
			d =(((n % 1000000) %100000) %10000) /1000;
			e =((((n % 1000000) %100000) %10000) %1000) /100;
			f =(((((n % 1000000) %100000) %10000) %1000)) %100;
			sum += a*a+b*b+c*c+d*d+e*e+f*f;
			cout<<"n的平方和为:"<<sum<<endl;
			cout<<"--------------------------------"<<endl;
		}
		
		
	}
	return 0;
	
	
}



3.运行结果:






C/C++ 判断是否为happy number快乐数字算法详解及源码 首先,将给定的数字n分解为每一位的平方和。然后,将得到的平方和再次进行分解,直到最终的平方和等于1或循环回到一个已经计算过的平方和。如果最终得到的平方和等于1,则该数字是一个快乐数字;如果最终得到的平方和循环回到已经计算过的平方和,则该数字不是一个快乐数字。判断是否为快乐数字的算法的优点是简单易懂,并且在大多数情况下都能较快地得出结果。然而,该算法的缺点是,在某些特殊情况下,可能会出现无限循环的情况,导致算法无法结束。例如,数字4就是一个不快乐的数字,因为其平方和分解的结果一直循环为4。 阅读详情

相关推荐

clumsy一款模拟弱网的工具

利用封装 Winodws Filtering Platform 的WinDivert 库, clumsy 能实时的将系统接收和发出的网络数据包拦截下来,人工的造成延迟,掉包和篡改操作后再进行发送。无论你是要重现网络异常造成的程序错误,还是评估你的应用程序在不良网络状况下的表现,clumsy 都能让你在不需要额外添加代码的情况下,在系统层次帮你达到想要的效果。

klb5555的专栏 2551

CCF 2015-12-01 数位之和 C语言

问题描述   给定一个十进制整数n,输出n的各位数字之和。    输入格式   输入一个整数n。    输出格式   输出一个整数,表示答案。    样例输入 20151220 样例输出 13 样例说明   20151220的各位数字之和为2+0+1+5+1+2+2+0=13。    评测用例规模与约定   所有评测用例满足:0 ≤ n ≤ 1000000000。 #include <std...

春天不是读书人的博客 434

Unity工业数据可视化:基于ModbusTCP的实时数据通信实战

本文详细介绍了在Unity中实现工业数据可视化的核心方法,重点讲解了基于ModbusTCP协议与PLC等工业设备进行实时数据通信的实战流程。内容涵盖NModbus库的集成、Modbus Slave模拟器的使用、TCP连接的建立与多线程安全通信、数据读写与解析,以及如何将实时数据驱动3D场景,为构建工业数字孪生与监控系统提供完整解决方案。

ol7890123的博客 553

Python基础入门:条件语句--阿里云天池

一、条件语句 if 语句 if expression: expr_true_suite if 语句的 expr_true_suite 代码块只有当条件表达式 expression 结果为真时才执行,否则将继续执行紧跟在该代码块后面的语句。 单个 if 语句中的 expression 条件表达式可以通过布尔操作符 and,or和not 实现多重条件判断。 【例子】获得输入正整数 N,计算各位数字的平方和,直接输出结果。(不考虑输入异常情况。) N = input() s = 0 for c in N:

TJwuyeyoumin的博客 4621

内核工作FAST‘25 Artifact Evaluation流程记录

在我们的paper中,复现需要用到傲腾持久化内存,因此,需要AE Reviewer访问到内网服务器中。我们的思路是购买云服务器,将其作为跳板机,内网服务器通过SSH反向代理与公网服务器建立隧道,AE Reviewer通过隧道访问内网服务器。我们在AE过程中使用。然后,把一切复现需要的代码环境,在chroot里面配置完成。

不定期更新系统使用、编程小技巧,哔哩哔哩账号:https://space.bilibili.com/399455629,欢迎关注 1215

R语言实战:5分钟搞定NHANES数据库的加权分析与可视化(附完整代码)

本文提供了一份R语言实战指南,帮助研究者在5分钟内完成NHANES数据库的加权分析与可视化。通过详细的代码示例,涵盖数据获取、清洗、加权分析和可视化全流程,特别适合公共卫生和流行病学研究者快速掌握复杂抽样数据的处理方法。

www00的博客 252

Python123第四章综合测验题

一、多数字求和 获取用户输入一批数字,每个数字一行,即输入一个数字之后回车在下一行输入下一个数字,最后以空回车为结束(即空输入)。‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬

yoghurt&girl的博客 1万+

多机器人协同:水下机器人集群的分布式控制与ROS仿真实践

本文探讨了多自主水下机器人(AUV)集群的分布式控制方法,重点分析了欠驱动6自由度AUV模型的反馈线性化技术。通过ROS/Gazebo仿真平台,详细介绍了系统架构设计、通信延迟补偿策略及环境扰动应对方案,为水下协同作业提供实用参考。

jupi8的博客 687

算法笔记——求一个整数各位的平方和(或者其他值)

大致思路 遍历这个数中的每一位,进行操作。 通过这两句 int temp = n % 10; //求得最后一位的数 n = n / 10; //操作完之后把最后一位去掉 代码结构如下 private int getNextNumber(int n) { int res = 0; while (n > 0) { int temp = n % 10; //求得最后一位的数 res += temp *

m0_46725128的博客 719

Java语音革命:用代码打造永不疲倦的AI客服,让客户支持效率飙升300%!

客户支持领域常面临“薛定谔困境”,即无法预知客户来电的意图是投诉还是表扬。通过Java技术,尤其是语音识别和自然语言处理(NLP),可以有效解决这一问题。文章展示了如何利用Java代码构建“声纹量子引擎”,实现客户支持的自动化。核心技术包括录音与预处理、语音识别和语义理解。通过百度AI API和Stanford NLP,系统能够快速、准确地识别客户语音并理解其意图。数据表明,优化后的AI处理时间从15分钟缩短至18秒,语音识别准确率提升至98.5%,并发处理能力达到单实例1000+请求。这些技术显著提升了客

墨夶的博客 1034

DeepSeek+即梦:AI视频创作从0到1全突破

本文为 DeepSeek 与即梦生成视频全攻略,从前期注册登录、熟悉工具界面及硬件网络准备入手,助读者开启 AI 视频创作。详细阐述利用 DeepSeek 构思脚本、即梦实现画面生成与静态图转动态视频的方法,包括提示词编写、参数调整等技巧。同时介绍后期合成音画、添加字幕特效及多平台适配要点,结合实战案例解析全流程。还分享进阶提示词优化、版权注意等避坑指南,为创作者提供从 0 到 1 的 AI 视频创作完整解决方案。

邓邓子的博客 8100

输入一个整数求其各位数字的平方和c语言,C++程式输入一个长整数,求各位数字的平方和...

C++程式输入一个长整数,求各位数字的平方和以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!C++程式输入一个长整数,求各位数字的平方和#include "stdafx.h"#include #include #include using namespace std;void main(){ string numb...

weixin_39519769的博客 6366

部署与可视化系统:零基础到精通:LabVIEW 调用 YOLO 动态链接库(DLL)的保姆级视觉检测系统融合实战

LabVIEW与YOLO26深度集成:工业视觉检测新范式 本文揭示了LabVIEW与最新YOLO26模型深度集成的创新方案,通过C++封装ONNX Runtime为DLL,在LabVIEW中实现端到端视觉检测。核心突破点包括: 技术选型:对比YOLOv5/YOLOv8/YOLO26性能,YOLO26在CPU推理速度提升43%,支持NMS-Free端到端推理 部署架构:提供ONNX Runtime C++ API和TensorRT两种DLL封装路径,适配不同硬件环境 工程实现:详细展示从PyTorch模型导出

ZXSXJ的博客 282

求任一正整数的各位数字的平方和。

#include <stdio.h> int main() { int a,s; scanf ("%d",&a); s=0; while (a!=0) { s=s+(a%10)*(a%10); a=a/10; } printf ("%d\n",s); } //日常作业...推荐自己敲代码再查看其他做法

HBoos的博客 4378

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

C语言 求一个三位整数的各位数字的平方和

C语言 求一个三位整数的各位数字的平方和

m0_65117134的博客 6678

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

循环结构习题:求一个数除以9的商等于它各位数字的平方和

求一个数除以9的商等于它各位数字的平方和。从键盘输入两个正整数m和n(m和n是三位数),输出m到n之间满足如下条件的数:该数除以9的商等于它各位数字的平方和。例如:224,它除以9的商为24,而22+22+42=24。

weixin_66814285的博客 546

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

C# 编程序功能是输入一个长整数,求各位数字的平方和s。如果输入的是负数,求其相反数的各位数字的平方和。 例如:输入-123,输出14。(用while或do-while语句实现)

namespace 第一次作业ya { class Program { static void Main(string[] args) { long n,s=0,temp; Console.Write("输入一个长整数n:"); n= long.Parse(Console.ReadLine()); do { .

m0_64885430的博客 1307

定义一个函数求任意给定的整数各位数字的平方和,在主函数中调用函数求从键盘输入的整数各位数字之和,并输出。

【代码】定义一个函数求任意给定的整数各位数字的平方和,在主函数中调用函数求从键盘输入的整数各位数字之和,并输出。

Yihanging的博客 419

求这样的三位数n,它除以11等于n的各位数字的平方和,并且n至少有两位数相同

#include using namespace std; int main() { int i; int n1,n2,n3; int temp; for(i=100;i<1000;i++) { temp=i/11; n1=i/100; n2=i%100/10; n3=i%10; if(temp==(n1*n1+n2*n2+n3*n3)) { if(n1==

qq_36825773的博客 4720

C/C++基础数字题合集

3、求最小公倍数先求最小公约数后带公式。1、将两个数的值先储存,后续会改变。2、求最小公约数用辗转相除法。添加一个绝对值函数即可。

2301_80162458的博客 439

C语言程序基础实验4——自然数n的各位数字之和、求2+22+222+....+22222的值、大小写字母转换、任意输入n个数,输出最大和最小值及其对应的序列号、求一个数除以9的商等于它各位数字的平方和

C语言程序基础实验4—— 1.自然数n的各位数字之和 2. 2+22+222+....+22222的值 3.大小写字母转换 4.任意输入n个数,输出最大和最小值及其对应的序列号 5.求一个数除以9的商等于它各位数字的平方和

watwoker的博客 2097

【双指针】快乐数(medium)

⽽「快慢指针」有⼀个特性,就是在⼀个圆圈中,快指针总是会追上慢指针的,也就是说他们总会相遇在⼀个位置上。由于上述两种情况只会出现⼀种,因此,只要我们能确定循环是在「情况⼀」中进⾏,还是在「情况⼆」中进⾏,就能得到结果。为了⽅便叙述,将「对于⼀个正整数,每⼀次将该数替换为它每个位置上的数字的平⽅和」这⼀个操作记为 x 操作;根据上述的题⽬分析,我们可以知道,当重复执⾏ x 的时候,数据会陷⼊到⼀个「循环」之中。不是,则返回 false。◦ 对于⼀个正整数,每⼀次将该数替换为它每个位置上的数字的平⽅和。

2402_85428625的博客 952

python 学习笔记2-快乐数

python 学习笔记2-快乐数 题目: 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。 如果 n 是快乐数就返回 True ;不是,则返回 False 。 示例: 输入:19 输出:true 解释: ...

weixin_43709601的博客 479

python快乐数字_LeetCode 202. Happy Number(快乐数)

题目描述Write an algorithm to determine if a number is "happy".A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares...

weixin_29414105的博客 517

Leecode202. 快乐数

编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。 如果 n 是快乐数就返回 True ;不是,则返回 False 。 解题思路:用快慢指针可以解决这种问题,定义一个求一个数每个位数上的数字的平方和的函...

子冉冰清的博客 427

力扣 202快乐数

找到重复出现的数,用set.find(n)!= set.end()另一个是判断是否为快乐数的依据是是否在哈希表中找到已经出现过的数。2查找一个数是否出现,用哈希表unordered_set ,sum = N除以十取余的平方和。插入用set.insert。一个是求n各个位上平方和。1求各个位上平方和方法。快乐数这题有两个关键。循环终止条件是n=0。

weixin_43261508的博客 292
上一篇: java上机初体验
下一篇: 用结构嵌套联合体的方法建立高中学生成绩档案
橘子局
博客等级 码龄14年 70粉丝 84原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值