10.26-东塘404-J1R
pico_fence · · 个人记录
新知识
//算术基本定理
//对于任意一个正整数n=p1*p2*...*pk,其中pi均为质数。
//简单来说对于任意一个正整数,都能将其拆分成若干个质数的乘积,如果固定因数从小到大排列,这样的分解方式是唯一的。
//可以简化成以下形式:n=pe1 1*pe2 2*...*pei i(pi<pi+1)
//分解质因子(O平方根n):
for(int i=2;i<=n;i++){
while(n%i==0){
cout<<i<<" ";
n/=i;
}
}
if(n>1)cout<<n<<" ";
P1075 [NOIP 2012 普及组] 质因数分解
思路
先创建一个n,输入n再来个for循环,里面来个if判断:if(n&i==0){cout<<n/i;return 0;}
代码:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int n;
int main(){
cin>>n;
for(int i=2;i<=n;i++){
if(n%i==0){
cout<<n/i;
return 0;
}
}
return 0;
}
B3715 分解质因子 2
思路
先定一个t,输入t再来一个while循环:while(t--)因为题目说啦本题单测试点内有多组测试数据,所以要搞个搞多组测试样例,然后搞个分解因子的代码,记住还要有一个cout<<endl;
代码:
#include<bits/stdc++.h>
#define ll long long
using namespace std;
int t;
int main(){
cin>>t;
while(t--){
ll n;
cin>>n;
for(int i=2;i<=n/i;i++){
while(n%i==0){
cout<<i<<" ";
n/=i;
}
}
if(n>1)cout<<n<<" ";
cout<<endl;
}
return 0;
}
P9063 [yLOI2023] 分解只因数
思路
先定一个t,在输入t,然后while(t--)因为题目说了本题单测试点内有多组测试数据,再建一个n,输入n,最后判断:if(n%2==0){ cout<<"No"<<endl; }else{ cout<<"Yes"<<endl; }
代码
#include<bits/stdc++.h>
#define ll long long
using namespace std;
ll t;
int main(){
cin>>t;
while(t--){
ll n;
cin>>n;
if(n%2==0){
cout<<"No"<<endl;
}else{
cout<<"Yes"<<endl;
}
}
return 0;
}