P12338 [蓝桥杯 2025 省 B/Python B 第二场] 脉冲强度之和

题目描述

在蓝桥电子工坊,工程师小蓝正在设计一款智能脉冲生成器,用于驱动一种新型设备。该设备的运行依赖于特定的脉冲强度,用正整数 p 表示,其必须满足以下三个条件:

  1. 可由连续 10 个正整数之和组成:即存在一个正整数 k,使得脉冲强度 p=k+(k+1)+(k+2)+⋯+(k+9)。
  2. 各个数位上的数字都相同:例如 1111、22222、333333 等。
  3. 数值不超过 20255202:即 1≤p≤20255202。

通过计算所有符合条件的脉冲强度之和,小蓝能够优化设备运行模式。对此,请帮助他计算这一总和。

输入格式

输出格式

这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只需要编写一个程序输出这个整数,输出多余的内容将无法得分。

输入输出样例

#include <bits/stdc++.h>
using namespace std;
const int N = 501; 
int A[N][N],s[N][N];
bool jd1(int x)
{
	string s;
	s=to_string(x);//将整数转换成字符串 便于处理 
	for(int i=0;i<s.size()-1;i++)
	{
		if(s[i]!=s[i+1])//只要有相邻两位不同就返回fasle 
		{
			return false;
		}
	}
	return true;//符合条件 
}
bool jd2(int x)
{
	int t=0;
	for(int i=1;i<=9;i++)//哈哈 求和 这一步多余 
	{
		t+=i;
	}
	int y=x-t;
	if(y%10==0&&y>0)//最后相加的那个数一定是10K 所以一定能被10整除并且大于零(条件) 
	{
		return true;
	}
	return false;
}
int main() {
	long long sum=0;
	for(int i=1;i<=20255202;i++)
	{
		if(!jd1(i))
		{
			continue;//判断条件一:这个数所有位都相同 
		}
		if(!jd2(i))//判断条件二:P=10K+45 
		{
			continue;
		}
		sum+=i;//都符合条件 求和 
	}
	cout<<6172830;
    return 0;
}
/*补充:其实看到最后P=10K+45 所以符合条件的一定是5的倍数 所以答案就只有55 555 ... 5555555 相加即可 
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇