复兴无基础第六课 循环(二)
2025-08-02 21:04:52
发布于:上海
T1数位分解
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
while (n != 0) {
cout << n % 10 << " "; //输出个位
n /= 10; //去掉个位
}
return 0;
}
T2数位求和
#include <iostream>
using namespace std;
int main() {
int n, sum = 0;
cin >> n;
while(n != 0) {
sum += n % 10;
n /= 10;
}
cout << sum;
return 0;
}
T3输出x
#include <iostream>
using namespace std;
int main() {
int n, x = 0, sum = 0;
cin >> n;
while(sum <= n){
x ++;
sum += x;
}
cout << x;
return 0;
}
T4满足条件的数累加
#include <iostream>
using namespace std;
int main() {
int n, sum = 0;
cin >> n;
for (int i = 1; i <= n; i++) {
if (i % 3 != 0) {
sum += i;
}
}
cout << sum;
return 0;
}
T5含k个3的数
#include <iostream>
using namespace std;
int main() {
int m, k, cnt = 0;
cin >> m >> k;
int t = m;
while(t > 0) {
if(t % 10 == 3) cnt ++;
t /= 10;
}
if (m % 19 == 0 && cnt == k) {
cout << "YES";
} else {
cout << "NO";
}
return 0;
}
T6角谷猜想(简单版)
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int cnt = 0; // 步数,记得初始化为 0
// 当 n ≠1,做以下的事情:
while (n != 1) {
// 1. 如果 n 是偶数,除以 2;如果 n 是奇数,×3 + 1
if (n % 2 == 0) {
n = n / 2; // n /= 2;
}
else {
n = n * 3 + 1;
}
// 2. 步数加 1
cnt++;
}
cout << cnt;
return 0;
}
T7n中m出现的次数
#include <iostream>
using namespace std;
int main() {
int n, m, cnt = 0;
cin >> n >> m;
while(n > 0){
if(n % 10 == m) cnt++;
n /= 10;
}
cout << cnt;
return 0;
}
T8一道简单的数学题
#include <iostream>
using namespace std;
int main() {
int n, sum = 0;
cin >> n;
for (int i = 1;i <= n; i++){
sum += i * i;
}
cout << sum;
return 0;
}
T9回文数
#include <iostream>
using namespace std;
int main() {
int n;
cin >> n;
int t = n, m = 0; // n 的备份,n 反转后的数
while (t > 0) {
m = m * 10 + t % 10;
t /= 10;
}
if (n == m) {
cout << "YES";
} else {
cout << "NO";
}
return 0;
}
这里空空如也
有帮助,赞一个