NYOJ-欧几里得
欧几里得
- 描写叙述
-
已知gcd(a,b)表示a,b的最大公约数。
如今给你一个整数n,你的任务是在区间[1,n)里面找到一个最大的x,使得gcd(x,n)等于1。
- 输入
- 输入文件的第一行是一个正整数T,表示有T组測试数据
接下来有T行,每行有一个正整数n (1<=n<=10^1000)。 - 输出
- 每组測试输出要求x。
- 例子输入
-
2
4
7 - 例子输出
-
3
6代码:
#include<stdio.h>
#include<string.h>
char a[1001];
int b[1001];
int main()
{
int T;
scanf("%d",&T);
while(T--)
{
int i,j;
scanf("%s",a);
int len=strlen(a);
if(strcmp(a,"1")==0)
{
printf("1\n");
continue;
}
for(i=len-1,j=0;i>=0;--i,++j)
b[j]=a[i]-'0';
if(b[0]!=0)
{
b[0]=b[0]-1;
}
else
{
b[0]=10-1;
b[1]--;
for(i=1;i<len;++i)
{
if(b[i]<0)
{
b[i]=b[i]+10;
b[i+1]--;
}
else
break;
}
}
if(b[len-1]==0)
len--;
for(i=len-1;i>=0;--i)
printf("%d",b[i]);
printf("\n"); }
return 0;
}解题思路:
相邻的的两个数最大公约数恒为 1,所以1~n中最大的X使得Gcd(x,n)==1,则x=n-1;【注意特列:当n=1时X=1】
NYOJ-欧几里得的更多相关文章
- GCD nyoj 1007 (欧拉函数+欧几里得)
GCD nyoj 1007 (欧拉函数+欧几里得) GCD 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 The greatest common divisor ...
- NOIP2012拓展欧几里得
拉板题,,,不说话 我之前是不是说过数据结构很烦,,,我想收回,,,今天开始的数论还要恶心,一早上听得头都晕了 先来一发欧几里得拓展裸 #include <cstdio> void gcd ...
- Intel Code Challenge Final Round (Div. 1 + Div. 2, Combined) C.Ray Tracing (模拟或扩展欧几里得)
http://codeforces.com/contest/724/problem/C 题目大意: 在一个n*m的盒子里,从(0,0)射出一条每秒位移为(1,1)的射线,遵从反射定律,给出k个点,求射 ...
- poj 1061 青蛙的约会 拓展欧几里得模板
// poj 1061 青蛙的约会 拓展欧几里得模板 // 注意进行exgcd时,保证a,b是正数,最后的答案如果是负数,要加上一个膜 #include <cstdio> #include ...
- 算法:欧几里得求最大公约数(python版)
#欧几里得求最大公约数 #!/usr/bin/env python #coding -*- utf:8 -*- #iteration def gcd(a,b): if b==0: return a e ...
- UVA 12169 Disgruntled Judge 枚举+扩展欧几里得
题目大意:有3个整数 x[1], a, b 满足递推式x[i]=(a*x[i-1]+b)mod 10001.由这个递推式计算出了长度为2T的数列,现在要求输入x[1],x[3],......x[2T- ...
- UVA 10090 Marbles 扩展欧几里得
来源:http://www.cnblogs.com/zxhl/p/5106678.html 大致题意:给你n个球,给你两种盒子.第一种盒子每个盒子c1美元,可以恰好装n1个球:第二种盒子每个盒子c2元 ...
- POJ 1061 青蛙的约会 扩展欧几里得
扩展欧几里得模板套一下就A了,不过要注意刚好整除的时候,代码中有注释 #include <iostream> #include <cstdio> #include <cs ...
- 欧几里得证明$\sqrt{2}$是无理数
选自<费马大定理:一个困惑了世间智者358年的谜>,有少许改动. 原译者:薛密 \(\sqrt{2}\)是无理数,即不能写成一个分数.欧几里得以反证法证明此结论.第一步是假定相反的事实是真 ...
- bzoj4517: [Sdoi2016]排列计数--数学+拓展欧几里得
这道题是数学题,由题目可知,m个稳定数的取法是Cnm 然后剩下n-m本书,由于编号为i的书不能放在i位置,因此其方法数应由错排公式决定,即D(n-m) 错排公式:D[i]=(i-1)*(D[i-1]+ ...
随机推荐
- Linux下分区、格式化、自动挂载
说明:现在硬盘基本没有了IDE,所以基本是从SCSI开始说起,第一块硬盘标示为sda,第二块为sdb,以此类推.那么第一块硬盘的第一个分区为sda1,也是以此类推. 一.硬盘分区 sudo fdisk ...
- mybatis-mysql小优化
原文:http://blog.csdn.net/jinzhencs/article/details/51656548 1.查询某条记录是否存在 <!-- 查询s是否被创建过:Uuid,name, ...
- Has anybody found a way to load HTTPS pages with an invalid server certificate using UIWebView?
If a user attempts to load a https web page in Mobile Safari and the server's certificate validation ...
- xcode 6 exporting ipa 提示 Your account already has a valid iOS distribution certificate
在Product - Archive 包过程中,选择Save for Ad hoc Deployment模式[给内部人员测试],export包时,弹出了如下提示 自己遇到时候问题:首先adhoc需要本 ...
- [Android Traffic] 让android应用在传输网络数据的时候更省电
到今年6月,我国的手机网民已经达到了3.88亿,超过了电脑终端.相信有智能机的同学都用过手机上网冲浪.但是手机的电量很快被用光了恐怕是每个人都不能忍受的一件事情.而打开数据连接进行网络数据的传输是很耗 ...
- 认识多渲染目标(Multiple Render Targets)技术【转】
http://www.cnblogs.com/hellohuan/archive/2008/12/01/1345359.html 首先,渲染到纹理是D3D中的一项高级技术.一方面,它很简单,另一方面它 ...
- fmt标签的格式化日期使用
声明: <%@ taglib prefix="fmt" uri="/WEB-INF/fmt.tld" %> or <%@ taglib pre ...
- ContentProvider之通过ContentResolver获取图像、视频、音频举例
MediaStore中定义了一系列的数据表格,通过ContentResolver提供的查询接口,我们能够得到各种须要的媒体信息.通过下面两个URI能够扫描设备外部和内部的媒体文件.Android系统提 ...
- Angular 学习笔记——模块之间的通讯
<!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...
- Angular 学习笔记——自定义标签
<!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...