蓝桥杯-缩位求和

此题的大坑在于他会输入一千行这样不管是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;
  }
相关推荐
hqiangtai3 分钟前
Android 高级专家技术能力图谱
android·职场和发展
西伯利亚狼_J20201 小时前
资料260107J-Go
职场和发展
源代码•宸2 小时前
Leetcode—1123. 最深叶节点的最近公共祖先【中等】
经验分享·算法·leetcode·职场和发展·golang·dfs
释怀°Believe3 小时前
Daily算法刷题【面试经典150题-7️⃣位运算/数学/】
算法·面试·职场和发展
CCPC不拿奖不改名3 小时前
网络与API:HTTP基础+面试习题
网络·python·网络协议·学习·http·面试·职场和发展
LYFlied4 小时前
【每日算法】LeetCode 207. 课程表
算法·leetcode·职场和发展
码农丁丁4 小时前
谈谈面试的本质
面试·职场和发展·技术管理·ai时代的技术管理
Swift社区4 小时前
LeetCode 470 用 Rand7() 实现 Rand10()
算法·leetcode·职场和发展
千金裘换酒13 小时前
LeetCode 移动零元素 快慢指针
算法·leetcode·职场和发展
闲看云起18 小时前
LeetCode-day6:接雨水
算法·leetcode·职场和发展