笔试题-求小于等于N的数中有多少组素勾股数
题目描述:
一组勾股数满足:a2+b2=c2;
素勾股数:a,b,c彼此互质。
输入正整数N;
输出小于等于N的数中有多少组勾股数。
例:
输入:10
输出:1
思路:我是直接暴力破解的……
首先找出勾股数,再判断是不是素勾股数。(如果N较大,注意定义成int可能超范围,当然N很大时就不能用暴力破解法了……)
代码:
#include <vector>
#include <iostream> using namespace std; bool isr(int a, int b); int main()
{
int N;
cin>>N;//输入N; int res=;
long long a,b,c;
for(a=;a<=N;a++)
{
for (b=a+;b<=N;b++)
{
for (c=b+;c<=N;c++)
{
if (a*a+b*b==c*c)
{
if (isr(a,b)&&isr(a,c)&&isr(b,c))
{
res++;
} }
}
}
} cout<<res<<endl;
system("pause");
return ;
} bool isr(int a, int b)//判断两个数是否互质;
{
if (a==b)
{
return false;
}
else if (a==||b==)
{
return true;
}
else
{
while()
{
int t=a%b;
if (t==)
{
break;
}
else
{
a=b;
b=t; }
}
if (b>)
{
return false;
}
else
{
return true;
}
}
}
补充知识点:只有1为公约数的两个正整数才互质,即两个正整数最大公约数是1,即可判断他们互质。
笔试题-求小于等于N的数中有多少组素勾股数的更多相关文章
- (笔试题)N!的三进制数尾部0的个数
题目: 用十进制计算30!(30的阶乘),将结果转换成3进制进行表示的话,该进制下的结果末尾会有____个0. 思路: 这道题与上一篇博文N!尾部连续0的个数的思路是一样的. 计算N!下三进制结果末尾 ...
- [算法]滴滴笔试题——求最大子串和(O(n)复杂度)
扫描法.一次扫描数组即可得出答案,复杂度O(n).这种方法用文字描述不容易说清楚,下面用每一步运算的图示来表达.伪代码如下: maxsofar=end=; ,n) end=max(end+x[i],) ...
- 【笔试题】某公司中有N名员工。给定所有员工工资的清单
排列员工工资顺序(C++map解法) 题目描述:某公司中有N名员工.给定所有员工工资的清单,财务人员要按照特定的顺序排列员工的工资.他按照工资的频次降序排列.即给定清单中所有频次较高的工资将在频次较低 ...
- 算法笔试题整理——升级蓄水池 && 字符串数字表达式计算值 && 求旅游完所有景点需要的最少天数 && 宝箱怪
1. 小米笔试题——升级蓄水池 题目描述: 在米兔生活的二维世界中,建造蓄水池非常简单. 一个蓄水池可以用n个坐标轴上的非负整数表示,代表区间为[0-n]范围内宽度为1的墙壁的高度. 如下图1,黑色部 ...
- 转:一道笔试题-将int型数组强制转换为char*,再求strlen,涉及大小端
写出如下程序运行结果: #include<stdio.h> #include<string.h> int main() { int a[2000]; char *p = (ch ...
- 输入N组父子对,求父子对所组成的二叉树的高度----17年某公司的笔试题
题目的大致意思如下: 输入N组数,一组数代表一个父子对(如,0 1,0代表父节点,1代表子节点),求这N组数所组成的二叉树的高度: 例如: 输入:6 0 1 0 2 1 3 1 4 2 5 ...
- Java笔试题集锦
Java笔试题集锦 1.MVC的各个部分都有那些技术来实现?怎样实现? 答:MVC是Model-View-Controller的简写."Model" 代表的是应用的业务逻辑(通过J ...
- C/C++ 笔试题
/////转自http://blog.csdn.net/suxinpingtao51/article/details/8015147#userconsent# 微软亚洲技术中心的面试题!!! 1.进程 ...
- 收藏所用C#技术类面试、笔试题汇总
技术类面试.笔试题汇总 注:标明*的问题属于选择性掌握的内容,能掌握更好,没掌握也没关系. 下面的参考解答只是帮助大家理解,不用背,面试题.笔试题千变万化,不要梦想着把题覆盖了,下面的题是供大家查漏补 ...
随机推荐
- Windows version PE System Key
{ }
- Unity 调用jar闪退 解决方案
{ https://www.cnblogs.com/YZFHKMS-X/p/11864496.html }
- python网络爬虫学习
网络爬虫 Requests官方中文教程地址:http://docs.python-requests.org/zh_CN/latest/user/quickstart.html Beautiful So ...
- 暴力枚举+扫描线+线段树——cf1194E
/*思路就是枚举矩形下面那条先,把所有和其交叉的竖线更新进线段树,然后扫描先向上更新,遇到竖线上端点就在线段树里删掉,遇到横线就更新答案*/#include<bits/stdc++.h> ...
- robotium学习
20140424 控件种类:spinner:下拉菜单,可以选择:TabHost:可以左右滑动,比如电话本:Gallery:rogressbar进度条;DatePicker;CheckBox,Radio ...
- AntiPlug
反插件工程 #pragma once #ifndef __ENHANFUNC_H__ #define __ENHANFUNC_H__ #include <iostream> #includ ...
- 学习MFC创建界面
原始学习文章地址: http://blog.csdn.net/chenyusiyuan/article/details/4744097 一.创建MFC 首先创建一个MFC对话框应用程序(Dialog- ...
- 动态栈-------C语言
使用带头结点的单链表实现 主要使用链表中的头插来实现栈的先进后出的特点 /***************************************************** Author:Si ...
- Java-Class-C:cn.hutool.core.date.DateUtil
ylbtech-Java-Class-C:cn.hutool.core.date.DateUtil 1.返回顶部 2.返回顶部 1.1. import cn.hutool.core.date.Da ...
- java的collection&&map集合总结
把自定义的对象放入HashSet或LinkedHashSet,为保证元素内容不重复,需要: • 覆盖hashCode( )方法,保证相同对象返回相同的值,提供调用equals( )方法的机会.• 覆盖 ...