解题思路: 由题目我们可知:是素数就以i=i的形式输出,不是就要以质因数分解的形式输出。
例:7是素数:7=7
64不是素数:64=2*2*2*2*2
所以,我们最好先打出一个函数判断是否是 素数
然后再搞定 以质因数分解 ,这个玩意也用一个函数来表示,不会的可以参考一下俺的代码中的int bs(long long n)
我全都用long long 是因为确保而已,int应该也是可以的!!
注意事项: 注意题目给的2< =a< =b< =10000
所以我们在 质因数分解 的函数代码中要把(64=2*2*2*2*2后面的质因数)判断到10000!!!!!!
切记!!!!
还有最后一个 * 不能输出来!
参考代码:
#include<iostream> using namespace std; long long ss(long long n) { long long i; if(n<2) return 0; for(i=2;i<n;i++) { if(n%i==0) return 0; } return 1; } void bs(long long n) { int i,t=0; for(i=2;i<=10000;i++) { if(n%i==0) { if(t==0) cout<<i; else cout<<"*"<<i; n/=i; i--; t++; } } cout<<endl; } int main() { long long i,a,b,sum=0; cin>>a>>b; for(i=a;i<=b;i++) { if(ss(i)==1) cout<<i<<"="<<i<<endl; else { cout<<i<<"="; bs(i); } } return 0; }
0.0分
1 人评分
C语言训练-舍罕王的失算 (C++代码)(都给答案了还算什么)浏览:994 |
C语言程序设计教程(第三版)课后习题7.3 (C语言代码)浏览:641 |
破解简单密码 (C语言代码)浏览:1866 |
大神老白 (C语言代码)浏览:694 |
C语言训练-大、小写问题 (C语言代码)浏览:649 |
C语言程序设计教程(第三版)课后习题8.4 (C语言代码)浏览:631 |
C语言程序设计教程(第三版)课后习题6.6 (C语言代码)浏览:366 |
C语言程序设计教程(第三版)课后习题8.5 (C语言代码)浏览:600 |
C语言程序设计教程(第三版)课后习题1.6 (C语言代码)浏览:574 |
1113题解浏览:823 |