《B4356 [GESP202506 二级] 数三角形》

题目背景

对应的选择、判断题:https://ti.luogu.com.cn/problemset/1182

题目描述

直角三角形有两条直角边与一条斜边,设两条直角边的长度分别为 a,b,则直角三角形的面积为 2ab​。

请你计算当直角边长 a,b 均取不超过 n 的正整数时,有多少个不同的面积为整数的直角三角形。直角边长分别为 a,b 和 a′,b′ 的两个直角三角形相同,当且仅当 a=a′, b=b′ 或者 a=b′, b=a′。

输入格式

一行,一个整数 n,表示直角边长的最大值。

输出格式

输出一行,一个整数,表示不同的直角三角形数量。

输入输出样例

输入 #1复制

复制代码
3

输出 #1复制

复制代码
3

输入 #2复制

复制代码
5

输出 #2复制

复制代码
9

说明/提示

对于所有测试点,保证 1≤n≤1000。

代码实现:

cpp 复制代码
#include <iostream>
using namespace std;

int main() {
    int n, ans = 0;
    cin >> n;

    for (int a = 1; a <= n; a++) {
        for (int b = a; b <= n; b++) {
            if ((a * b) % 2 == 0) {
                ans++;
            }
        }
    }
    
    cout << ans << endl;
    return 0;
}
相关推荐
汉克老师9 小时前
GESP2026年9月认证C++八级( 第一部分选择题(1~7题)精讲
c++·gesp·小学生·学c++编程
郝学胜_神的一滴10 小时前
C++ Templates 06:搞懂模板代码的三种组织方式
c++·visual studio
C++ 老炮儿的技术栈10 小时前
sizeof操作符
c语言·c++·人工智能·mfc·c
沫璃染墨10 小时前
《Linux工程实践篇(一):认识设计模式——从日志系统看策略模式》
linux·c++·安全·设计模式·策略模式
wuminyu10 小时前
ForkJoinPool内部WorkQueue的Lock-Free数组操作以及并发任务窃取原理剖析
java·linux·c语言·jvm·c++
code2cat11 小时前
Java进阶篇之AtomicMarkableReference:引用还在,标记已经改变
java·开发语言·cas·并发编程·逻辑删除
CappuccinoRose11 小时前
FormData数据处理
开发语言·前端·javascript·表单数据
Zguigo11 小时前
【CUDA8】第一个CUDA C++ Kernel --vector add
java·开发语言·c++
-Marks-11 小时前
【C++编程】STL容器(二)--- vector底层模拟实现(常用接口实现 | 扩容机制 | 深浅拷贝 | 迭代器失效)
开发语言·c++·vector·内存管理·迭代器失效·vector底层模拟实现
Shadow(⊙o⊙)12 小时前
C++11并发支持库
开发语言·c++