蓝桥杯-缩位求和

此题的大坑在于他会输入一千行这样不管是int 还是long long 都会溢出,之前一直以下面代码运行难怪一个也过不了

复制代码
#include <iostream>
using namespace std;
int func(int n)
{
	long long sum=0; 
	while(n)
	{
		sum+=n%10;
		n/=10;//d得到每一位的数 
	}
	return sum;
}
int main()
{
    long long  n;
    cin>>n;
    long long  count=func(n);
    while(count/10)
    {
      count=func(count);	
	}
    cout<<count;
  }

最终修改代码如下:(令我奇怪的是蓝桥杯不能用gets ,我就只能用字符串输入了)

复制代码
#include <iostream>
using namespace std;
int func(int n)
{
	long long sum=0; 
	while(n)
	{
		sum+=n%10;
		n/=10;//d得到每一位的数 
	}
	return sum;
}
int main()
{
    string num;
    getline(cin,num);
    int a[1005];
    int sum=0;
    for(int i=0;num[i];i++)//一直加,将字符转为数字 
    {
    	a[i]=num[i]-'0';
		sum+=a[i];//将各个位上的数字之和加起来 
	}
    long long  count=sum;
    while(count/10)
    {
      count=func(count);	
	}
    cout<<count;
  }
相关推荐
HY小宝F3 小时前
职场沟通的深层智慧:从对抗到协作的自我修炼
职场和发展
AI职业加油站4 小时前
职业提升之路:我的大数据分析师学习与备考分享
大数据·人工智能·经验分享·学习·职场和发展·数据分析
_OP_CHEN4 小时前
【算法基础篇】(五十六)容斥原理指南:从集合计数到算法实战,解决组合数学的 “重叠难题”!
算法·蓝桥杯·c/c++·组合数学·容斥原理·算法竞赛·acm/icpc
草履虫建模11 小时前
力扣算法 1768. 交替合并字符串
java·开发语言·算法·leetcode·职场和发展·idea·基础
学历真的很重要20 小时前
【系统架构师】第二章 操作系统知识 - 第二部分:进程管理(详解版)
学习·职场和发展·系统架构·系统架构师
VT.馒头1 天前
【力扣】2722. 根据 ID 合并两个数组
javascript·算法·leetcode·职场和发展·typescript
执着2591 天前
力扣hot100 - 108、将有序数组转换为二叉搜索树
算法·leetcode·职场和发展
LiLiYuan.1 天前
【Cursor 中找不到LeetCode 插件解决办法】
算法·leetcode·职场和发展