1047找环环&1503整数探究
1047就是判断一个数乘以他的位数1~n后是这个数转来转去的一个形式。主要就是大整数乘法
贴shi代码
#include<iostream>
#include<string>
#include<algorithm>
using namespace std; //test记录输入的数,back计算乘法之后的数
int test[];
int back[];
//判断当前的n,是否构成一个环
int iscyc(int N)
{
int i,j,k;
bool eq=;
//将test作为一个基础,进行比较
for(i=;i<N;i++)
{
if(back[i]==test[])
{
//当有一个地方和test[0]相等时,继续往下比较,判断是否是整个串都相等
//一定要注意这里的每次的初始化!!! 每次找到相同的就先设相等
eq=;
for(j=;j<N;j++)
{
if(back[(i+j)%N]!=test[j])
{
eq=;
break;
}
}
if(eq) return ;
}
}
return ;
} int main()
{
string onec;
int i,j,k,N,resid,value,flag=,pos;
while(cin>>onec)
{
pos=;
memset(test,,sizeof(test));
memset(back,,sizeof(back));
//还是将输入的string转换成int 数组 倒序
for(i=onec.size()-;i>=;i--)
{
back[pos]=onec[i]-'';
pos++;
} N=onec.size();
//计算对应n的乘法之后的值
resid=;
for(i=;i<N;i++)
{
resid=;
for(j=;j<N;j++)
{
value=back[j]*(i+)+resid;
test[j]=value%;
resid=value/;
} if() {int a=;}
else{
flag=iscyc(N);
//有一个不是,则不是
if(!flag)
{
cout<<onec<<" is not cyclic"<<endl;
break;
}
}
}
if(flag) cout<<onec<<" is cyclic"<<endl;
}
return ;
}
1503大水 就是大整数加法,直接代码
#include<iostream>
#include<string>
using namespace std;
int num[];
int sum[]; int main()
{
string onen;
int i,j,k,pos;
memset(sum,,sizeof(sum));
while(cin>>onen&&onen!="")
{
memset(num,,sizeof(num));
pos=;
for(i=onen.size()-;i>=;i--)
{
num[pos]=onen[i]-'';
pos++;
}
for(i=;i<pos;i++)
{
sum[i]+=num[i];
if(sum[i]>=)
{
sum[i+]++;
sum[i]=sum[i]%;
}
}
}
for(i=-;i>=;i--) if(sum[i]) break;
for(j=i;j>=;j--)
cout<<sum[j];
cout<<endl;
return ;
}
1047找环环&1503整数探究的更多相关文章
- 找出数组中出现奇数次的元素<异或的应用>
点击打开链接:百度面试题之找出数组中之出现一次的两个数(异或的巧妙应用) 题目描述|:给定一个包含n个整数的数组a,其中只有一个整数出现奇数次,其他整数都出现偶数次,请找出这个整数 使用异或操作,因为 ...
- 面试题:如何在不使用临时变量temp的情况下交换两个整数的值?
利用一个小技巧,一个整数a在异或另一个整数b两次以后所得的值还是整数a. 具体的过程我们可以自己找两个整数以二进制的形式自己在纸上画一下他们的异或过程.(异或的运算符号为"^") ...
- C/C++ 笔试题
/////转自http://blog.csdn.net/suxinpingtao51/article/details/8015147#userconsent# 微软亚洲技术中心的面试题!!! 1.进程 ...
- C/C++笔试题(很多)
微软亚洲技术中心的面试题!!! .进程和线程的差别. 线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2 ...
- (C++) 基本面试题(整理)
1.new.delete.malloc.free关系 new/delete是C++的运算符.new 调用构造函数用于动态申请内存,delete调用对象的析构函数,用于释放内存. malloc与free ...
- C++面试宝典2011版
1.new.delete.malloc.free关系 delete会调用对象的析构函数,和new相应free仅仅会释放内存,new调用构造函数.malloc与free是C++/C语言的标准库函数,ne ...
- 《Java学习笔记JDK8》学习总结
chapter 6 继承与多态 6.1何谓继承 1.继承的定义:继承就是避免多个类间重复定义共同行为. 2.总结:教材中通过设计一款RPG游戏的部分代码向我们展示了“重复”程序代码的弊端,为了改进 ...
- C++笔试题目大全(笔试宝典)(不断完善中)
1.new . delete . malloc . free 关系 delete 会调用对象的析构函数 , 和 new 对应 free 只会释放内存, new 调用构造函数. malloc 与 fre ...
- java程序设计之完数
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数".例如6=1+2+3.编程 找出1000以内的所有完数. 解题过程也很简单: public class wanshu { ...
随机推荐
- Java设计模式偷跑系列(十二)组合模式建模和实现
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39828653 组合模式(Composite):组合模式有时又叫部分-总体模式.将对象组合成 ...
- html转换为纯文本,支持撇号
/// <summary> /// html转换为纯文本 /// </summary> /// <param name="source">< ...
- vs2012 + web api + OData + EF + MYsql
vs2012 + web api + OData + EF + MYsql 开发及部署 先说下我的情况,b/s开发这块已经很久没有搞了,什么web api .MVC.OData都只是听过,没有实际开发 ...
- C# - object有哪些基本方法类有
Name Description Equals(Object) Determines whether the specified object is equal to the current obje ...
- C# foreach 有用方法具体解释
网上查资料,说foreach 不能改动迭代变量,仅仅能訪问迭代变量.自己理解也不是非常深,通过几个代码进行验证,发现foreach的使用方法还有点特别 验证方法: 1. 迭代变量 为int int[] ...
- Ionic项目中使用极光推送-android
对于Ionic项目中使用消息推送服务,Ionic官方提供了ngCordova项目,这个里面的提供了用angularjs封装好的消息推送服务(官方文档),使用的是GitHub上的 PushPlugin ...
- ApacheBench(ab)使用简介
网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环.只有让服务器处在高压情况下,才能真正体现出软件.硬件等各种设置不当所暴露出的问题. 性能测试工具目前最常见的有以下几种:ab.http_lo ...
- c语言mysql api
原文:c语言mysql api 1.mysql_affected_rows() //返回上次UPDATE.DELETE或INSERT查询更改/删除/插入的行数. 2.mysql_ ...
- C# 截取图片区域,并返回所截取的图片
/// <summary> /// 截取图片区域,返回所截取的图片 /// </summary> /// <param name="SrcImage" ...
- PHP 6:PHP 基本数据类型
原文:PHP 6:PHP 基本数据类型 本章将介绍PHP基本类型.相信我们已经熟悉了C/C++,C#或者Java里的任意一种语言.本章会以C#为比较语言.OK,如果你想学PHP,你最先考虑的是什么呢? ...