蓝桥杯-缩位求和

此题的大坑在于他会输入一千行这样不管是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;
  }
相关推荐
天才测试猿6 小时前
2026软件测试面试八股文(含答案+文档)
自动化测试·软件测试·python·功能测试·测试工具·面试·职场和发展
spter。12 小时前
AI 面试相同请求为什么会重复调用,如何解决
人工智能·面试·职场和发展
宵时待雨18 小时前
优选算法专题12:队列
算法·leetcode·职场和发展
CoderYanger20 小时前
Java EE:9.JVM(课件内容-上篇)
java·jvm·程序人生·面试·职场和发展·java-ee·程序员创富
CoderYanger20 小时前
Java EE:9.JVM(课件内容-下篇)
java·jvm·程序人生·面试·职场和发展·java-ee·学习方法
gnsnswa20 小时前
解读6大AI人工智能认证证书
人工智能·信息可视化·职场和发展·数据分析·aigc·学习方法·信息与通信
依然鸣21 小时前
蓝桥杯多校模拟赛 题解
数据结构·c++·经验分享·学习·算法·蓝桥杯
阿坤带你走近大数据1 天前
基金面试准备1
面试·职场和发展
职场的momo2 天前
五年后端终面被追问方案,技术输出该如何守边界
职场和发展