蓝桥杯-缩位求和

此题的大坑在于他会输入一千行这样不管是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;
  }
相关推荐
墨染点香19 小时前
LeetCode 刷题【103. 二叉树的锯齿形层序遍历、104. 二叉树的最大深度、105. 从前序与中序遍历序列构造二叉树】
算法·leetcode·职场和发展
旭意19 小时前
C++微基础备战蓝桥杯string篇10.5
开发语言·c++·蓝桥杯
黑色的山岗在沉睡21 小时前
LeetCode 2761. 和等于目标值的质数对
算法·leetcode·职场和发展
T1an-11 天前
力扣70.爬楼梯
算法·leetcode·职场和发展
我命由我123451 天前
Photoshop - Photoshop 工具栏(5)多边套索工具
笔记·学习·ui·职场和发展·photoshop·ps·美工
共享家95271 天前
Leetcode刷题
算法·leetcode·职场和发展
kalvin_y_liu1 天前
【MES架构师与C#高级工程师(设备控制方向)两大职业路径的技术】
开发语言·职场和发展·c#·mes
Asmalin2 天前
【代码随想录day 35】 力扣 494. 目标和
算法·leetcode·职场和发展
CoderYanger2 天前
优选算法-双指针:2.复写零
java·后端·算法·leetcode·职场和发展
Kent_J_Truman2 天前
【第几小 / 分块】
算法·蓝桥杯