网站及app开发招聘,人网站设计与制作,wordpress城市插件,快递物流网站建设开发具备哪些功能这道题的解题过程真是一波三折#xff0c;也真是发现人外有人#xff0c;天外有天#xff0c;好多神人真是。
原题如下图#xff0c;也可点击这个链接到原题自己测试光棍原题链接:
一开始做的时候的想法#xff1a;so easy#xff0c;虽然看到了题目中提示s可能超级大…这道题的解题过程真是一波三折也真是发现人外有人天外有天好多神人真是。
原题如下图也可点击这个链接到原题自己测试光棍原题链接:
一开始做的时候的想法so easy虽然看到了题目中提示s可能超级大 直接做可能超时但是当时也没别的想法只能硬着头皮上了果然哈哈超时了只砍下14分说实话这14分都感觉像运气。 这是当初的代码:
#includebits/stdc.h
using namespace std;
int main()
{int n;long long int num11;int count2;cinn;while(num%n!0){numnum*101;count;}coutnum/n countendl;
}辗转各位神人的题解真是让我大开眼界最终也是有了自己的算法还算是不错。 注释我给附到代码里了可以自己复制到自己的编译环境里看一下感觉CSDN这个页面的代码还是看着不是那么舒服。 #includebits/stdc.h
using namespace std;
int main()
{int n;int count1,x1;cinn;while(xn){xx*101;count;} //为了不输出0,即商为零的情况//一开始被卡这里了没加这一步输出来的结果有时候会带0. while(1){if(x%n!0){coutx/n;xx%n;xx*101;count; }//这里面的操作是我参考了好几位神人的笔记终于悟了//原来就是一个简单的除法运算列竖式的过程//相信你列个竖式随便除一下肯定也和我一样豁然开朗。//最后的那个光棍数所有位上都是1所以直接除然后取余取余之后补1。 //这就是 xx%n; xx*101;这两步的由来本质上是实现了一个除法的计算过程。 else{coutx/n;break;}}cout countendl;
}
最后必须敲黑板: 这是我辗转各家的时候看到的一个神人的想法他直接用到了c的位运算让我不禁直接点赞大呼牛皮。 可以看一下:
#includebits/stdc.h
using namespace std;
int x,ans,tot,flag;
int main()
{cinx;for(ans1;;ans){tot(tot3)(tot1)1;if(totx){flag1;couttot/x;}else if(flag)cout0;tot%x;if(!tot)break;}cout ans;return 0;
}“和”的位运算实不相瞒我也只是在刚学到的时候了解了一下压根没想到有人竟然能把它用在这里惊艳的想法。 如果你不太了解位运算的话可能看不懂哈可以跳转到这里位运算的总结充个电。
时光荏苒,岁月如梭,韶华不负,未来可期
仰望星空脚踏实地加油。